【发布时间】:2019-05-10 20:30:15
【问题描述】:
我正在使用 Zelix Klass Master 来混淆我的 Android 应用程序。已经使用它大约 1 年了。我决定升级我的 android studio,因为我仍在运行 3.0.1 版。更新 android studio 后,我不能再用 Zelix 混淆我的 apk,它使用 Proguard 混淆我的 android 应用程序 Zelix 通过 proguard 工作的方式是我需要替换目录中的 proguard jar
<Android Studio>\gradle\m2repository\net\sf\proguard\proguard-base
我已经替换了目录中的所有proguard jars,甚至删除了sf 中的proguard 父文件,它仍然使用proguard 来混淆我的android apk 我的猜测是它不再使用来自<Android Studio>\gradle\m2repository\net\sf\proguard 的proguard,因为我删除了那个目录,android studio 仍然使用 proguard 构建。
所以问题是新的 proguard 库在哪里?以及如何让它使用该目录(proguard-base)中的proguard? 有关如何设置 Zelix 的信息,您可以阅读它here:
编辑:在 Svet 的回答之后,我尝试按照他的建议去做,现在它抛出了这个错误..
找不到方法 'proguard.KeepClassSpecification.(ZZZZZZZLproguard/ClassSpecification;Lproguard/ClassSpecification;)V'。 此意外错误的可能原因包括:
在 Gradle 进程损坏的情况下,您可以 还可以尝试关闭 IDE,然后终止所有 Java 进程。
- Gradle 的 依赖项缓存可能已损坏(这有时会在网络连接后发生 连接超时。)重新下载依赖项并同步项目 (需要网络)
- Gradle 构建过程的状态 (守护进程)可能已损坏。停止所有 Gradle 守护进程可以解决这个问题 问题。停止 Gradle 构建过程(需要重新启动)
- 你的 项目可能正在使用不兼容的第三方插件 项目中的其他插件或请求的 Gradle 版本 项目。
【问题讨论】:
-
你运行windows还是mac?
-
@Pierre Windows 10, 64 位。
-
在 Android Studio 中,
File > Settings > Appearance & Behavior > System Settings > Android SDK > Android SDK Location在该位置,在tools > proguard > lib中放置ZKM.jar文件,在tools > proguard > bin中编辑proguard.bat文件,将 proguard 的文件名更改为 @ 987654334@ -
查看不支持的内容时,最好使用
.pro文件。否则我建议直接联系他们:zelix.com/klassmaster/support.html ... meta.stackoverflow.com/questions/255745/… -
@SamzSakerz 原生程序集也为逆向工程添加了及时的努力:stackoverflow.com/questions/13351787/…
标签: java android android-studio proguard obfuscation