我使用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。
答案 0 :(得分:2)
您必须在 proguard 文件中添加一条额外的规则,以保留所有 Kotlin 例外
-keep public class * extends java.lang.Exception
答案 1 :(得分:0)
我也有问题。
您是否尝试过添加firebase-crash
?
dependencies
中的build.gradle(应用程序级别)。
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
。
或者,您可以在ANR & Crash
上检查Google Play Console
转到您的应用,然后打开Android vitals
> ANR & Crash