如何判断Proguard是否已完成其工作

我下载了封装在zip文件中的proguard并将其解压缩到我的硬盘上。 我没有以任何方式安装它(因为我不知道如何)。 然后我将proguard.config=proguard.cfg添加到我的project.properties文件中。 然后我做了一个“导出android应用程序”,完全期望eclipse抱怨它不知道我的proguard安装在哪里,但没有抱怨。 实际上我的密钥库中出现了一个新的apk文件,并且我的应用程序的proguard子目录中出现了一组文件(dump.txt等)。 mapping.txt看起来像是一个很好的从长variables名到一个和两个字母variables的映射列表。 这应该都是proguard以某种方式工作的有力证据 – 我唯一关心的是apk几乎没有以前那么小。 有没有办法检查apk是否包含proguard的混淆?

  • Android(ART)崩溃,错误JNI DETECTED ERROR IN APPLICATION:jarray是无效的堆栈间接引用表或无效的引用
  • 为什么Android的进度对话框中没有取消按钮?
  • 序列化性能和谷歌Android
  • 如果未选择图像,如何将默认图像传递给上一个活动
  • 使用PreferenceActivity时刷新Preferences的视图
  • Android studio logcat无法正常工作
  • 在android中扩展ArrayAdapter
  • 如何在android中将HashMap转换为json数组?
  • 通常大小将表明ProGuard是否有效,但您可以: –

    1. 使用Dex2Jar将apk转换为jar文件
    2. 使用Jd-Gui打开生成的Jar文件以查看它包含的代码

    @Kuffs方法的替代方法是将您的新APK与旧APK进行比较。 打开它们(使用7zip或您首选的工具)并比较每个中的classes.dex文件的大小。

    一些直截了当的原因,你可能没有看到大大节省大小:

    • 未混淆的classes.dex能够比混淆的classes.dex压缩得更多。 这在某种程度上总是如此。
    • 你没有做发布版本。 Proguard只能在发布版本上运行,因为调试混淆代码是一场噩梦。
    • 您正在使用的Proguard设置对您的项目没有太大的好处(至少在代码大小方面)。 我实际上看过proguard的代码内联设置之前增加了jar文件的大小!