如何修复因 ProGuard/R8 导致的崩溃?
Posted
技术标签:
【中文标题】如何修复因 ProGuard/R8 导致的崩溃?【英文标题】:How to fix crashes due to ProGuard/R8? 【发布时间】:2019-03-06 02:14:07 【问题描述】:我正在制作一个简单的应用程序,它运行良好,但是当我尝试使用 ProGuard 缩小/混淆代码时,当我打开另一个 Activity 时它会崩溃。
使用 R8 时也会发生这种情况。
完整的流程是:
进入 MainActivity,然后生成 CameraActivity,它使用 Firebase MLKit 来检测条形码(这当然使用相机)。当检测到 QR 码时,它会启动 DetailActivity 向服务器发送请求(使用 Retrofit)。使用 Room 将响应保存到 DB。总体而言,该应用使用了整个架构组件。
它在从 CameraActivity 到 DetailActivity 的转换中崩溃,并且 logcat 中绝对没有关于崩溃的日志。
完整的源代码可以在https://github.com/gincos/bookqr-uc/tree/dev找到
你可以在那里检查我的 proguard-rules 和我的依赖项,大部分应用程序都是用 Kotlin 制作的并使用协程。
提前致谢!
【问题讨论】:
【参考方案1】:将这些添加到您的 proguard-rules 中,然后按照 logcat 上的说明进行操作:
-addconfigurationdebugging
-dontobfuscate
【讨论】:
以上是关于如何修复因 ProGuard/R8 导致的崩溃?的主要内容,如果未能解决你的问题,请参考以下文章