草庐IT

ProGuard

全部标签

java - 在 Android 应用程序中使用 MultiDex 运行 ProGuard 两次,并且仅第二次运行警告/注释?

我在我的Android应用中使用了MultiDex和ProGuard。当我运行我的应用程序时,proguard运行了两次。以下是proguard运行后的任务::app:transformClassesAndResourcesWithProguardForReleaseProGuard,version5.2.1...Initializing...Shrinking...Obfuscating...Writingoutput...及以后::app:transformClassesWithMultidexlistForReleaseProGuard,version5.2.1这是我的应用程序的

android - Proguard 在某些构建配置中变灰

我已经创建了两个构建配置(从Release复制的设置)以通过编译器常量将我的应用程序中的免费/高级功能集分开。选择这些新配置中的任何一个时,EnableProguard复选框变为灰色/禁用。它仅在选择原始发布构建配置时启用。我到处寻找我所知道的构建配置的差异,但找不到任何差异。我缺少什么需要更改,以便EnableProguard不仅限于一个原始的Release构建配置?更新:我试图比较我的.csproj文件中的构建配置,但未能揭示原因。即使将“Release”配置中的完整和准确设置复制到“Release-Free”和“Release-Premium”配置,也不允许在VS中启用ProGu

android - 运行 Proguard 后损坏或丢失矢量绘图

我正在开发使用下面提到的矢量可绘制对象的应用程序这在调试版本中工作得很好,但在发布版本中运行混淆器后它就坏了。gradle文件中的design和appcompat库的版本如下所述。compile'com.android.support:appcompat-v7:23.4.0'compile'com.android.support:design:23.4.0'编译构建版本是compileSdkVersion23buildToolsVersion="23.0.1"为了支持矢量,我在gradle中完成了后续工作。defaultConfig{generatedDensities=[]}aapt

Android:依赖项和模块的 Proguard 规则

我有一个包含几个模块的项目,libs文件夹中的一些jar依赖项和一些其他的gradle依赖项。我正在尝试构建一个启用了proguard的发布apk,但在构建过程中我收到了很多针对某些依赖项的警告。例如:Warning:org.codehaus.jackson.jaxrs.JacksonJsonProvider:can'tfindsuperclassorinterfacejavax.ws.rs.ext.MessageBodyReader有人可以引用有关如何正确定义依赖项规则的指南吗?除了app模块之外,我是否需要为模块添加规则。编辑:我已将以下规则添加到应用程序build.gradle文

android - 无法使用 Proguard 在 Android 项目上设置 Wiremock(重复 Zip 条目错误)

我现在一直在阅读所有帖子,此时我真的很挣扎。我试图在我的android项目中使用WireMock来帮助进行测试。然而,Proguard总有话要说。我的gradle依赖文件是这样的:dependencies{compilefileTree(include:['*.jar'],dir:'libs')//FineTunedGooglePlayServicescompile"com.google.android.gms:play-services-ads:${PLAY_SERVICES_VERSION}"compile"com.google.android.gms:play-services-

java - 启用了 proguard 的 Ormlite 找不到 id 字段

我在为我的项目启用proguard时遇到问题:java.sql.SQLException:无法删除类adc,因为它没有定义id字段exepction中提到的adc类如下:@DatabaseTable(tableName="zaplanowane_zlecenie")publicclassZaplanowaneZlecenie{@DatabaseField(generatedId=true)privateUUIDmZaplanowaneZlecenieId;@DatabaseField(columnName="data")privateDateTimemZaplanowanaData;@

Android + Proguard + Apache POI

有人能够在混淆后让ApachePOI库正常工作。看了很多资料,尝试了不同的方法,还是报错:a.a.b.a:Providercom.bea.xml.stream.EventFactorynotfoundorg.apache.poi.openxml4j.opc.internal.marshallers.PackagePropertiesMarshaller.(UnknownSource)atorg.apache.poi.openxml4j.opc.OPCPackage.init(UnknownSource)atorg.apache.poi.openxml4j.opc.OPCPackage.

java - 如何从 ProGuard 中排除注解处理器依赖

我在尝试创建阻止构建成功完成的Android项目版本时收到ProGuard警告。Warning:libraryclasscom.google.googlejavaformat.java.filer.FormattingJavaFileObject$1$1extendsorimplementsprogramclasscom.google.common.io.CharSink在深入挖掘并运行gradlew:app:dependencies之后,我发现google-java-format已包含在内,因为它被AutoFactory使用,这是最近添加到项目中的。+---com.google.au

android - Proguard 规则 -keep vs -keepclassmembers vs -keepclasseswithmembers

阅读proguardrules我发现自己面临三个看起来非常相似的术语保持keepclassmemberskeepclasswithmembers我不明白这三个规则之间的区别,谁能更好地解释一下区别,也许还有一个例子 最佳答案 1)keep-保留类2)keepclassmembers-保留类成员,例如字段和方法3)keepclasseswithmembers-如果类满足基于成员的某些条件,则保留类示例1)保留所有扩展android.app.Activity的类-keeppublicclass*extendsandroid.app.Ac

android - proguard.cfg 在使用 LIBRARY 的导出应用程序中不起作用

我有两个版本的同一应用程序使用相同的proguard.cfg,以下部分旨在抑制所有Log.x()LogCat输出:-assumenosideeffectsclassandroid.util.Log{publicstatic***v(...);publicstatic***i(...);publicstatic***d(...);publicstatic***w(...);publicstatic***e(...);}第一个版本是整体式的(即不引用任何库项目)并且proguard.cfg完全按照预期工作。第二个版本使用了两个库项目(一个是我的,另一个是谷歌的LVL)。相同的proguar