当我检查我的应用程序崩溃时,注意到了这份报告
上传您的ProGuard反混淆文件以便为此APK版本解混淆将来的堆栈跟踪。 查看此链接但不理解 https://support.google.com/googleplay/android-developer/answer/6295281?hl=en
当我检查我的应用程序崩溃时,注意到了这份报告
上传您的ProGuard反混淆文件以便为此APK版本解混淆将来的堆栈跟踪。 查看此链接但不理解 https://support.google.com/googleplay/android-developer/answer/6295281?hl=en
https://ahbsa.wordpress.com/2015/04/30/decompiling-apk-reverse-engineering-android-application/
使用混淆工具后,apk内部的类可能会被某些反向工程技术转换成类似以下的形式。 你可能已经意识到了,即使使用了Proguard,.dex类仍然可以被反编译。但如果使用了Proguard,代码几乎是无法阅读的。如果使用了一些更高级的技术(例如Dexguard),它们可以提供更好的性能,并且在反编译.dex类后代码会更加复杂。在这个问题中提到了许多原因,你可以使用ProGuard。
如果链接失效,我将从这个问题中复制答案:
反编译Android应用程序非常容易,因此,如果您想防止这种情况发生,是的,您应该使用ProGuard进行混淆。
ProGuard还有另外两个重要的功能:缩小未使用的代码并显然非常有用的优化。优化操作与Java字节码一起运行,但由于Android运行在从Java字节码转换而来的Dalvik字节码上,因此某些优化效果不佳。因此,您需要小心处理。
有关如何在Android网站上使用proguard的说明。您需要检查的主要事项是您是否在project.properties文件中具有以下行:
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
由于您提到使用Android Studio并且没有此文件,但被要求选择配置文件,请尝试选择位于Android SDK(tools/proguard/proguard-android.txt)中的文件。
在Android Studio中
1)进入项目的“build.gradle”(模块的build.gradle文件,而不是根目录的build.gradle文件)
2)编辑它,在“buildTypes”下添加类型(如我添加了发布和调试模式)
3)这里,“minifyEnable”是Proguard选项,将其设置为TRUE以在相应模式下运行Proguard(我在发布模式下设置为true,在调试模式下设置为false)
4)在此之后的一行,“proguardFiles getDefaultProguardFile('proguard-android.txt')”,代表Proguard规则文件,您可以在应用程序模块(Module)中找到名为“proguard-rules.pro”的文件(如上一行的最后一个条目所示),编辑/添加Proguard规则。
5)完成!
如果我漏掉了什么,请告诉我。谢谢。
Proguard可以执行多个操作,如缩小(shrinking)、混淆(obfuscating)等...(Proguard),并将它的工作记录到特定文件中(ProGuard mapping)。