【问题标题】:Proguard output different obfuscation result from gradle plugin 2.1.2 to 2.3.3Proguard 输出从 gradle 插件 2.1.2 到 2.3.3 的不同混淆结果
【发布时间】:2017-07-16 08:45:14
【问题描述】:

我用了很长时间的 Android Studio 2.1 和 gradle 插件com.android.tools.build:gradle:2.1.2

发布版本配置了我的自定义 proguard 文件和个人字典(包含 java 关键字作为 return double、float 等)。使用反混淆器,文件夹树得到正确混淆。

现在我正在使用带有 Gradle 插件 2.3.3 的 Android Studio 2.3,具有相同的代码、相同的 proguard 文件和相同的字典,但是在去混淆之后,包、方法和类的名称保持不变,只有变量被混淆了。这里不同的输出为 PNG 图像:

correct_obfuscation

wrong_obfuscation

问题出在哪里?

【问题讨论】:

  • 显示文件proguard
  • -printconfiguration -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose -dontoptimize -dontpreverify -adaptresourcefilenames .xsd,.wsdl,.xml,.properties,.gif,.jpg,.png -flattenpackagehierarchy -obfuscationdictionary proguard_dictionary.txt -packageobfuscationdictionary proguard_dictionary.txt -classobfuscationdictionary proguard_dictionary.txt -dontwarn android.support. -dontwarn com.facebook.* * -dontwarn com.squareup.** -dontwarn org.junit.** -dontwarn android.test.** -dontwarn com.github.siyamed.**

标签: android android-studio gradle proguard obfuscation


【解决方案1】:

我终于找到了解决方案。新的 Proguard 版本 (5.2.1 ) 将我的 proguard-rules.pro 与其他爆炸的 aar proguard 文件合并。现在我正在寻找一种解决方案来强制使用我的 proguard-rules.pro 来强制 proguard,而忽略其他 aar 的 proguard.txt 文件。

【讨论】:

  • 你知道在哪里可以找到合并的 progard 规则吗?
猜你喜欢
  • 2014-08-15
  • 2017-09-24
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多