了解启用 Proguard 的崩溃和 ANR

Posted

技术标签:

【中文标题】了解启用 Proguard 的崩溃和 ANR【英文标题】:Understanding Crashes & ANRs with Proguard Enabled 【发布时间】:2014-03-10 23:19:44 【问题描述】:

我在查看开发人员控制台上的崩溃报告时注意到,由于我启用了 Proguard,所有方法名称都是简单的字母。自然,这使得调试崩溃变得相当困难。我不知何故对此表示怀疑,但是否有接收显示实际方法名称的崩溃报告,同时仍然在我的应用程序上启用 Proguard?

【问题讨论】:

-keepattributes SourceFile,LineNumberTable 在这之后你会知道哪个文件和行 nuber 或developer.android.com/tools/help/proguard.html#decoding 【参考方案1】:

请阅读documentation。

映射.txt 列出原始和混淆的类、方法和字段名称之间的映射。当您收到错误时,此文件很重要 来自发布版本的报告,因为它翻译了混淆的 堆栈回溯到原始类、方法和成员名称。看 解码混淆的堆栈跟踪以获取更多信息。

并直接this。

【讨论】:

以上是关于了解启用 Proguard 的崩溃和 ANR的主要内容,如果未能解决你的问题,请参考以下文章

通过在Android中实现Proguard,使用JDBC在Asynctask中崩溃

启用 Proguard 时未找到 kotlin.Any

启用 proguard 后 java.lang.NoSuchMethodError Org/apache/http/util/ByteArrayBuffer

通过在 Android 中实现 Proguard 在使用 JDBC 的 Asynctask 中应用程序崩溃

androidx.paging.PagedStorage.init 在启用 proguard 时给出错误

启用 ProGuard 规则时 Gson 解析不起作用