Firebase Crashlytics 何时将 Proguard/R8 映射文件上传到他们的服务器?

Che*_*eng 4 android firebase crashlytics

一直以来,我们都在使用 Google Play Console 来捕获崩溃报告。

我们需要手动上传 Proguard/R8 映射文件,以对崩溃堆栈跟踪进行反混淆。

在此处输入图片说明

根据https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0&platform=android/sf/answers/3310470271/,不再需要此类操作。

我可以知道,幕后发生了什么吗?Firebase Crashlytics 何时将 Proguard/R8 映射文件上传到他们的服务器?

Dou*_*son 5

当您运行构建时,上传会自动发生。在构建输出中,您将看到与此类似的一行:

:app:crashlyticsUploadDistributionDevelopDebug
Run Code Online (Sandbox Code Playgroud)

这就是上传映射的任务。这一切都由您添加到构建中的 crashlytics gradle 插件管理。

  • 但是,如果您使用相同的版本名称和版本代码多次构建应用程序,但基于不同的代码库,会发生什么情况? (4认同)
  • @arekolek它每次都会生成并发送一个新的映射文件。每次构建时,都会生成一个新的映射文件 ID,并由 Crashlytics 注入到构建的 APK 中。您将在 strings.xml 中构建的 APK 中找到它,它的键名称为“com.crashlytics.android.build_id”或“com.google.firebase.crashlytics.mapping_file_id”。这唯一地标识了该构建,您甚至可以尝试多次运行该构建,并且每次都会看到它发生变化。它用于将崩溃与相应的映射文件关联起来 (2认同)