在为 android 移动应用程序添加混淆时,我尝试测试生成的 APK 并确保代码被混淆。我使用 2 种不同的工具来做到这一点 - apkanalyzer和dex2jar(遵循本指南)。我使用 apkanalyzer 通过以下命令获取所有类:
apkanalyzer dex packages myapp.apk
在检查类名时,看起来混淆是按预期工作的。但是当我检查 dex2jar 的结果(使用 JD-Gui)时,看起来混淆不起作用 - 所有类名都保留了。
为了确保 proguard 正常工作,我检查了 -mapping.txt
并seeds.txt
成功创建。我还检查了一个出现在mapping.txt
(因此应该被混淆)的类——但在 JD-Gui 上它以真实名称出现,而不是被混淆。
我的问题是:为什么 apkanalyzer 和 dex2jar 输出之间存在差异?哪个工具产生正确的输出?
编辑:我在一个演示项目中对其进行了测试,但无法重现此行为。这意味着我们的应用程序的配置方式有些奇怪。
提前致谢!
奥马尔