我用这些行遇到了几个混淆示例:#KeeptheBuildConfig-keepclasscom.example.BuildConfig{*;}我在有和没有这条线的情况下运行应用程序(当然,我的包)并没有发现任何差异。我还查看了generated/.../BuildConfig.java,也没有任何变化。为什么我需要将我的BuildConfig保留在ProGuard中?谢谢! 最佳答案 BuildConfig包含了一些usefulvalues在编译时设置的。具体是这些:booleanDEBUG–ifthebuildisdebuggab
使用R8时是否需要从Gradle中删除Proguard相关代码?minifyEnabledtrueproguardFilesgetDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro' 最佳答案 您实际上并没有删除混淆规则,因为R8在兼容模式中使用混淆规则。更多详情请引用https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.h
将我的SDK升级到AndroidL后,我在使用ant构建android项目时遇到了问题。错误输出:/Users/dreamtale/develop/android-sdk-macosx/tools/ant/build.xml:828:找不到taskdef类proguard.ant.ProGuardTask使用类加载器AntClassLoader[]有人遇到同样的问题吗? 最佳答案 似乎在新的更新中,tools目录不再包含proguard文件夹,build.xml脚本也没有找到proguardjar文件。在给出正式修复之前,您可以按以
我正在尝试使用ProGuard为我的项目制作发布apk文件,显然我正在使用许多第三方库,我只需要使用它们中的几个类,我真的很想得到一些关于这个的解释。我的调试版本超过20-MB,所以我想通过使用proguard中的shrinking来减少它,但是它给了我一些我无法理解的警告,虽然troubleshooting,我不知道我应该做什么样的改变,buildTypes{release{minifyEnabledtrueproguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'}}上面一行显
我有一个包含以下模块的应用程序:/app/common/customviews/model现在我想混淆我的生产代码,所以我将以下行放在所有模块的所有build.gradle文件中。buildTypes{release{minifyEnabledtrueproguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'}}此文件包含以下规则:-dontnoteandroid.net.http.*-dontnoteorg.apache.commons.codec.**-dontnoteorg.ap
我正在使用IntelliJIDea11.1.3进行Android开发,我必须承认它是一个很棒的工具。我对如何在IDE中使用Proguard没有任何疑问。我在OpenModuleSettings->Facets下找到了RunProgaurd选项,如下图所示RunProguard需要配置文件的位置,默认为proguard-project.txt。接下来是一个复选框,上面写着Includesystemproguardfile。此复选框选项中引用了哪个SystemProguard文件?鉴于Proguard的所有配置都在AndroidSDK的proguard-android.txt中。progu
我的gradle工程包含一个主模块和一个库库的一个类包含一个枚举,我已将其排除在混淆混淆之外,因为它在主项目中使用。Gradle构建失败,出现“错误。找不到符号变量MyEnum”,同样的错误也出现在另一个接口(interface)上,该接口(interface)也在类中声明我已经反编译了我的库的classes.jar文件,它是在构建时生成的,枚举恰好位于它“找不到”的地方,如MyClass$MyEnum。类“MyClass”在编译后仍然存在于正确的位置。这是我用于枚举的混淆器代码:-keep,allowoptimizationenumcom.mypackage.MyClass$MyEn
我正在尝试发布我的应用程序,但ProGuard导致我的服务器代码出现各种错误,所以我进入gradle控制台并看到了这个:Note:therewere2referencestounknownclasses.Youshouldcheckyourconfigurationfortypos.(http://proguard.sourceforge.net/manual/troubleshooting.html#unknownclass)Note:therewere26unkeptdescriptorclassesinkeptclassmembers.Youshouldconsiderexpli
我无法让ViewModel组件与Proguard一起工作。我已经必须添加以下内容以防止由于NoSuchMethodException导致崩溃:init()-keepclasscom....SlideshowViewModel{*;}但是,我在Activity中的观察者没有收到任何数据。这在我启用Proguard之前工作正常,所以我知道Proguard是原因,我只是不知道为什么(这里是新手Proguardian)。我需要添加什么规则才能使observables正常工作?我的ViewModel(Kotlin)中有以下内容valcurrentItem=MediatorLiveData()..
我想使用Proguard主要是为了混淆。我在Android中遇到混淆器问题。我使用simpleframework来解析XML;它的外部。在混淆配置文件中:-keepattributes*Annotation*,EnclosingMethod-keeppublicclassorg.simpleframework.**{*;}-keeppublicclassorg.simpleframework.xml.**{*;}-keeppublicclassorg.simpleframework.xml.core.**{*;}-keeppublicclassorg.simpleframework.x