作者: GoodBoyboy
链接: https://blog.goodboyboy.top/posts/895802776.html
来源: GoodBoyboy 's Blog|惬意小屋-点滴记忆
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
什么是 R8
以下介绍来自 DeepSeek
R8 是 Android 平台上的代码优化和混淆工具,它是 ProGuard 的替代品,专门为 Kotlin 和 Java 代码设计。以下是关于 R8 优化的关键信息:
主要功能:
代码缩减 (Shrinking):
移除未使用的类、字段、方法和属性
减小应用体积
优化 (Optimization):
内联方法
移除死代码
简化类结构
优化控制流
混淆 (Obfuscation):
重命名类和成员为短名称
增加逆向工程难度
资源缩减:
与资源缩减工具配合移除未使用的资源
总而言之,就是能够缩减安装包体积,优化代码以及提高应用运行速度
但同样的,因为使用混淆,在捕捉异常时会受到混淆的影响导致无法定位到具体代码行
一般来说,开发时所编译的 debug 版不开启 R8,而用于发布的 release 版适合开启 R8。但当 release 版出现崩溃收集日志时就会受到 R8 的影响。
解决方案
在开启 R8 优化后编译 release 版时会生成一个 mapping 文件,该文件记录了混淆时所有对应的方法,使用该文件即可对记录的堆栈跟踪信息进行反混淆。
文章作者: GoodBoyboy
文章链接: https://blog.goodboyboy.top/posts/895802776.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 GoodBoyboy 's Blog|惬意小屋-点滴记忆!
1129

被折叠的 条评论
为什么被折叠?



