Fabric crashlytics 以混淆格式报告崩溃
Fabric crashlytics reports crashes in obfuscated format
我使用 crashlytics 发送我的报告,但崩溃没有像这样去混淆:
Fatal Exception: c.a
我阅读了here并添加了
-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。到现在还没有修好。我无法检测到错误的真正原因。
我也遇到了这个问题。
您尝试添加 firebase-crash
了吗?
build.gradle(应用级别)在 dependencies
.
apply plugin: 'com.google.firebase.firebase-crash'
android{
...
}
和
implementation 'com.google.firebase:firebase-crash:16.2.1'
build.gradle(项目级别)
buildscript {
repositories {
jcenter()
// ...
}
dependencies {
// ...
// For Android Studio 2.x, use firebase-plugins version 1.1.1
classpath 'com.google.firebase:firebase-plugins:1.1.1'
// For Android Studio 3.0, use firebase-plugins version 1.1.5
//classpath 'com.google.firebase:firebase-plugins:1.1.5'
}
}
试试这个,如果它不能解决您的问题,请告诉我。
此外,不推荐使用 -keep
。
或者,您可以在 Google Play Console
上检查 ANR & Crash
转到您的应用,然后打开 Android vitals
> ANR & Crash
您必须向 proguard 文件添加一条额外规则以保留所有 Kotlin 异常
-keep public class * extends java.lang.Exception
我使用 crashlytics 发送我的报告,但崩溃没有像这样去混淆:
Fatal Exception: c.a
我阅读了here并添加了
-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。到现在还没有修好。我无法检测到错误的真正原因。
我也遇到了这个问题。
您尝试添加 firebase-crash
了吗?
build.gradle(应用级别)在 dependencies
.
apply plugin: 'com.google.firebase.firebase-crash'
android{
...
}
和
implementation 'com.google.firebase:firebase-crash:16.2.1'
build.gradle(项目级别)
buildscript {
repositories {
jcenter()
// ...
}
dependencies {
// ...
// For Android Studio 2.x, use firebase-plugins version 1.1.1
classpath 'com.google.firebase:firebase-plugins:1.1.1'
// For Android Studio 3.0, use firebase-plugins version 1.1.5
//classpath 'com.google.firebase:firebase-plugins:1.1.5'
}
}
试试这个,如果它不能解决您的问题,请告诉我。
此外,不推荐使用 -keep
。
或者,您可以在 Google Play Console
ANR & Crash
转到您的应用,然后打开 Android vitals
> ANR & Crash
您必须向 proguard 文件添加一条额外规则以保留所有 Kotlin 异常
-keep public class * extends java.lang.Exception