在Android应用程序中使用proguard

问题描述 投票:0回答:1

我从过去4个月开始研究Android应用程序开发,现在我已经开发了我的第一个应用程序,因为它很容易反编译apk,所以我们应该使用dex或proguard进行收缩和保护。问题是我在一篇文章中看过proguard可能会改变代码所以有时应用程序可能行为不端,这是我的第一个应用程序,我不想搞砸。所以在我的应用程序中使用proguard之前我几乎没有问题 -

1.在使用proguard之前要记住哪些要点。

2.我读过你可以使用keep命令但是proguard不会混淆那些代码并且它会保持不变,所以我想要我的所有代码,但是我将使用keep,它将不会做任何事情。

3.使用proguard后如何确保app的后续功能与之前相同。

4.是否有必要签署应用程序或使用proguard键?

android proguard decode
1个回答
1
投票

问题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'
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.