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

参考:https://firebase.google.com/docs/crash/android

您必须向 proguard 文件添加一条额外规则以保留所有 Kotlin 异常

-keep public class * extends java.lang.Exception