crashlytics 如何去混淆崩溃异常堆栈

How crashlytics de-obfuscates the crash exception stack

我已经为我的应用程序集成了 crashlytics,但直到今天才启用 proguard。

我的项目配置如下:

        debug {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }

然后我修改了代码以强制崩溃,然后我去 Crashlytics 控制台查看崩溃异常堆栈的样子。

我希望异常堆栈是像 a.b.c.d.e.f(:232) 这样混淆的东西,但实际上我可以看到去混淆的堆栈,清除 类 名称和方法名称。

我知道在发布 apk 时我需要上传混淆映射文件,这样 Crashlytics 才能知道如何去混淆。 但是对于我的场景,我从来没有为我的开发构建上传这样的映射文件(运行 应用程序直接来自 Android Studio),我也从 Crashlytics 获得了去混淆的异常堆栈(不是这种情况我的 Android Studio,异常被混淆了)

我很好奇 Crashlytics 如何为我的开发版本消除混淆。

当您构建应用程序时,Crashlytics 插件会自动将映射文件上传到 Crashlytics 服务。

https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?platform=android