我在Plugins / Android中有一个名为mainTemplate的自定义gradle文件。 minifyEnabled设置为true。我需要验证proguard是否已实际启用。
答案 0 :(得分:0)
我知道这个答案还很晚,但是我可以看到它得到了不错的浏览量(写作时为2k),所以我认为在这里留下答案是值得的。
我这样做的方法是简单地不使用ProGuard构建APK,并使用ProGuard构建APK,然后在Android Studio中进行比较。
这是Unity中的默认情况,但只需将minify值设置为disable。
可以在编辑器中通过文件->构建设置->播放器设置来访问这些文件。在“检查器”窗口中,找到“发布设置”选项卡。
在上面的示例屏幕截图中,您可以看到我仅对ProGuard启用了发布版本,而没有对调试版本启用。我建议您这样做,以便您可以从调试版本中获取可行的崩溃日志。
如果您通过脚本进行构建,这将涉及在构建脚本中的某处包含以下行:
EditorUserBuildSettings.androidReleaseMinification = AndroidMinification.None;
或
EditorUserBuildSettings.androidReleaseMinification = AndroidMinification.Proguard;
一旦ProGuard被禁用,就进行构建。然后在启用它的情况下进行另一个构建。 (请注意,如果您按照上面的示例进行操作,则要在Unity中进行调试构建,应在构建按钮上方的构建设置窗口中选中“开发构建”选项。)
我知道如何执行此操作的最简单方法是通过Android Studio。
打开Android Studio,然后点击“配置文件或调试APK”按钮。
一旦Android Studio完成了APK的导入,您将很快了解ProGuard是否能正常工作。例如,这是项目查看者的比较。
很显然,由于混淆了类名而后者启用了ProGuard,而在DEX文件things that ProGuard does中却少了。