草庐IT

proguard-project

全部标签

java - 如何解决 Proguard 问题 - ArrayIndexOutOfBoundsException?

我正在尝试为我的应用程序生成APK。但是在构建之后编译器抛出一个java.lang.ArrayIndexOutOfBoundsException。我知道这个错误在编程上意味着什么。但是如果我将minifyEnabled禁用为False。然后生成APK并且应用程序运行良好。Isawasimilarquestionhere&trieddesugaringtofalse.但它仍然抛出Process'command'C:\ProgramFiles\Android\AndroidStudio\jre\bin\java.exe''finishedwithnon-zeroexitvalue1我该如何

android - 错误 : In project 'app' a resolved Google Play services library dependency depends on another at an exact version

当我尝试编译我的项目时,我遇到了以下错误错误:在项目“app”中,已解决的GooglePlay服务库依赖项依赖于另一个确切版本(例如“[15.0.1]",但没有被解析为该版本。库表现出的行为将是未知的。build.gradle(app)applyplugin:'com.android.application'android{compileSdkVersion27defaultConfig{applicationId"com.example.spars.myapplication"minSdkVersion16targetSdkVersion27versionCode1versionNa

android - 是安卓:id specific to xml file or the whole project?

android:id="@+id/somevalue"是特定于定义它的xml文件,还是整个android项目?如果它是项目范围的,那么我似乎有很多id可以用于文本字段。例如,我必须将我的“标题”字段命名为“title1”和“title2”等... 最佳答案 它们在整个项目中是独一无二的,但可以在不同的上下文中使用。原因很简单:只有一个R.id.name_of_id变量,但它们不能从任何地方引用。我的意思是,如果你有一个名为@+id/my_id的ID,它位于my_layout.xml文件中,除非你当前正在使用,否则你不能使用它my_l

android - 为什么在 ProGuard 中禁用混淆会破坏优化步骤?

我们最近决定在我们的Android构建中禁用代码混淆,因为虽然它使最终的APK稍微大一点,但它使调试变得更加困难。自从我们这样做以来,我一直在我们的应用程序中遇到以前不存在的崩溃,即当混淆仍然有效时。通常这些崩溃是由JavaVerifyError或NoSuchMethodError引起的。以下是我在禁用混淆时突然看到的两个错误:Couldnotfindmethodorg.apache.http.HttpConnectionMetrics.getResponseCount,referencedfrommethodcom.google.android.apps.analytics.Pipe

java - 我们可以缩小所有类,但只用 proguard 混淆一些类吗?

通常,使用-keep排除类可以防止类被混淆但是它也可以防止它被缩小。是否可以定义一个proguard-project.txt来缩小除使用-keep排除的类之外的所有类,但也仅混淆类的特定子集?目的是使用混淆器来保持低于android65k方法限制,同时也仅在APK中混淆第一方代码。谢谢 最佳答案 是的,您可以将修饰符allowshrinking添加到应该仅应用于混淆(和优化)步骤的-keep选项。例如:-keep,allowshrinkingclasscom.example.SomeClass如果指定的类在缩小步骤中未使用,则可能会

java - 如何将没有 .classpath 或 .project 文件的 android 项目导入 Eclipse?

我使用Mercurial从谷歌代码克隆了一个安卓项目但是没有.classpath或.project文件,因此Eclipse甚至无法将代码识别为项目。有谁知道有没有简单的方法可以将这个项目导入到eclipse中?(我在想也许我可以从其他项目编辑这些文件并将它们复制到这个项目,但我对这些文件的用途了解不够)。 最佳答案 这很简单。你必须知道“.classpath”文件是完全一样的东西与其他安卓项目。而且,“.project”文件也相同,除了其中的项目名称。从其他android项目复制“.classpath”和“.project”文件并粘

android - 将 "Android Library Project"包含的 jar 暴露给引用它们的项目

Android的一项新功能是能够创建LibraryProject.这非常适合在您可能正在开发的许多应用程序之间进行单元测试和共享通用功能,但我似乎在它们的实现中偶然发现了一个错误。当您遇到以下情况时:-LibraryProject在其构建路径中包含LibraryProject/libs/folder/lib.jar。-ReferencingProject引用LibraryProject。在ReferencingProject中,您无权访问lib.jar中的任何内容(例如常量用于与LibraryProject).对此的解决方案是将“lib.jar”作为外部库包含在引用项目中,但这种方法开

java - Proguard 保持集体诉讼禁止夏洛克

有-keepclasscom.actionbarsherlock.**{*;}在我的混淆器配置中。正如Actionbarsherlock的建议(参见http://actionbarsherlock.com/faq.html)。但只有在添加之后-keeppublicclass*extendscom.actionbarsherlock.app.SherlockFragment保留了扩展SherlockFragment的类,因此我能够使用Fragments。为什么? 最佳答案 假设您有以下fragment声明,用于xml布局:public

android - 使用 ProGuard 删除 Android 中的 LibGDX 日志

我有一个proguard.cfg包含多个语句的文件,包括优化传递和日志抑制,如:-assumenosideeffectsclassandroid.util.Log{*;}-assumenosideeffectsclasscom.badlogic.gdx.Application{publicstaticvoiddebug(...);publicstaticvoiderror(...);publicstaticvoidlog(...);}调用Log.*在最终输出的APK文件中被正确删除。但gdx日志调用仍在代码中。例如,我仍然可以在输出中看到类似的内容:Gdx.app.debug("deb

android - gradle - proguard 错误不反射(reflect) -dontwarn

Linux上的gradle1.10在CLI上./gradlew干净./gradlewassembleRelease标准输出错误...Note:therewere2referencestounknownclasses.Youshouldcheckyourconfigurationfortypos.(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)Note:therewere5unresolveddynamicreferencestoclassesorinterfaces.Youshouldc