当我检查我的应用程序崩溃时,注意到了这个报告
上传您的ProGuard反混淆文件,以便对此APK版本的未来堆栈跟踪进行反混淆处理。 检查了这个链接,但没有理解 https://support.google.com/googleplay/android-developer/answer/6295281?hl=en
答案 0 :(得分:3)
正如我在这里的回答,Proguard是你尝试编译apk时的主要过程之一(特别是当你将apk发布到Google Play商店时)
模糊处理
优化
收缩
Android studio import problems. (Apktool)
以简单的方式说出来,你可以看到如何通过使用一些逆向工程技术看到 apk没有proguard
https://ahbsa.wordpress.com/2015/04/30/decompiling-apk-reverse-engineering-android-application/
通过使用一些逆向工程技术,带有proguard的apk中的类将是类似的东西
你现在可能有了头脑。即使你使用了Proguard,.dex类仍然可以被转换。但是如果使用Proguard,代码几乎是不可读的。如果您使用了一些更先进的技术(例如Dexguard),它们可以提供更好的性能,并且在对.dex类进行反编译后代码会更复杂。
答案 1 :(得分:0)
您使用的程序有很多原因,如本问卷所述。 Should I use ProGuard?
如果链接断开,我正在复制此问题的答案:
对Android应用程序进行逆向工程很容易,所以如果你想防止这种情况发生,是的,你应该使用ProGuard来实现它的主要功能:混淆。
ProGuard还有另外两个重要功能:缩小功能,可以消除未使用的代码,显然非常有用,也可以进行优化。然而,优化使用Java字节码进行操作,并且由于Android运行在从Java字节码转换的Dalvik字节码上,因此某些优化将无法正常工作。所以你应该小心。
有关于如何在Android网站上使用proguard的说明。你需要检查的主要是你有
行proguard.config = $ {sdk.dir} /tools/proguard/proguard-android.txt:proguard-project.txt 在project.properties文件中。由于您提到您使用的是Android Studio且没有此文件,但系统会询问您有关配置文件的信息,请尝试选择Android SDK中的文件(tools / proguard / proguard-android.txt)。
答案 2 :(得分:0)
在android studio中
1)转到Project' build.gradle" (模块的build.gradle不是根目录build.gradle文件)
2)编辑它并在" buildTypes"添加类型(因为我添加了发布和调试模式)
3)这里" minifyEnable"是proguard选项make it通过将其设置为TRUE(释放和调试,我在发布模式下为true,在调试模式下为false)启用以在相应模式下运行proguard
4)之后排 " proguardFiles getDefaultProguardFile(' proguard-android.txt'),代表proguard规则文件 你将在应用程序模块(模块)中获得这个名称" proguard-rules.pro"(你可以识别上面一行的最后一个条目) edite /为proguard添加规则。
5)在这里你完成了!
如果我遗失了什么,请告诉我。谢谢。