我从过去4个月开始研究Android应用程序开发,现在我已经开发了我的第一个应用程序,因为它很容易反编译apk,所以我们应该使用dex或proguard进行收缩和保护。问题是我在一篇文章中看过proguard可能会改变代码所以有时应用程序可能行为不端,这是我的第一个应用程序,我不想搞砸。所以在我的应用程序中使用proguard之前我几乎没有问题 -
1.在使用proguard之前要记住哪些要点。
2.我读过你可以使用keep命令但是proguard不会混淆那些代码并且它会保持不变,所以我想要我的所有代码,但是我将使用keep,它将不会做任何事情。
3.使用proguard后如何确保app的后续功能与之前相同。
4.是否有必要签署应用程序或使用proguard键?
问题1。要记住什么!文档声明使用proguard可能会发生意外事件
请注意,代码缩小会减慢构建时间,因此如果可能,应避免在调试版本中使用它。但是,在您用于测试的最终APK上启用代码收缩非常重要。在ProGuard缩小代码之后,读取堆栈跟踪很困难(如果不是不可能),因为方法名称是混淆的。
我相信这回答问题3这里的关键词是测试,测试,测试!你创建发布apk的那一刻。根据您的用例测试功能,以查看应用程序是否仍以其应有的方式运行。
如果您还没有测试,我建议您在发布和测试proguard应用程序之前至少编写一些单元测试。
问题4:不,您不需要密钥来使用proguard。我以前在我的调试版本中使用过它。
因此,您的典型版本构建变体可能如下所示://AndroidStudio3.0.1Canary
release {
postprocessing {
removeUnusedCode true
removeUnusedResources true
obfuscate true
optimizeCode true
proguardFile 'proguard-rules.pro'
}
}