android - Fabric crashlytics 以混淆格式报告崩溃
问题描述
我使用 crashlytics 发送我的报告,但崩溃没有像这样去混淆:
Fatal Exception: c.a
我在这里阅读并添加
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
到我的 proguard-rules 文件中,没有
-printmapping mapping.txt
在我的配置文件中。这是我的 build.gradle buildTypes 部分:
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug_server {
minifyEnabled false
debuggable true
matchingFallbacks = ['release']
}
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
minifyEnabled false
}
}
并非我所有的崩溃都是这样的,我将 crashlytics 更新到 2.9.4 版本。
更新:
我只是跳过了这个
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
因为我不需要跳过在 Crashlytics 上运行 proguard。
UPDATE2: crashlytics v2.9.9。直到现在都没有修复。我无法检测到错误的真正原因。
解决方案
您必须向proguard文件添加一个额外的规则以保留所有Kotlin异常
-keep public class * extends java.lang.Exception
推荐阅读
- ruby-on-rails - 验证博客投票系统
- javascript - 如何克隆 ember 对象
- c# - 如何在 C# 中拒绝对给定表单的访问
- stress-testing - Strees-ng:强调内存,不想让 cpu 加载 100%
- web-services - 如何在 SOAP 请求中使用 SAAJ 进行身份验证?
- powershell - Powershell 自定义类创建问题
- asp.net - TypeScript - [后续属性声明必须具有相同的类型] - 对相同类型定义的多次引用
- .net - 重启系统后redis密码丢失
- linux - 如何在 Linux 中使用 grep 找出一行中的单词?
- matlab - 我需要创建一个对角矩阵,其中对角元素是一个向量