如何将映射文件上传到Firebase Crashlytics?

时间:2017-11-14 09:15:15

标签: firebase crashlytics firebase-crash-reporting

在旧的Crash报告中 - 有一种简单的上传方式。我没有在Crashlytics部分找到它

4 个答案:

答案 0 :(得分:30)

更新:Firebase更新了他们的文档:see here

不再需要手动上传映射文件。

1 - 要保留Crashlytics对可读崩溃报告的信息,请在配置文件中添加以下行:

-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception

2 - 要让Crashlytics自动上传ProGuard或DexGuard映射文件,请从配置文件中删除此行( app / proguard-rules.pro ):

-printmapping mapping.txt
  

要使用ProGuard加快构建速度,请排除Crashlytics。添加   以下行到您的配置文件:

-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

答案 1 :(得分:13)

Mike来自Firebase。 Firebase中的Crashlytics不提供在构建流程之外上传映射文件的方法。我个人很好奇,您是否经常使用手动上传?

答案 2 :(得分:1)

如果您已按照指示启用了自动上传功能,然后构建了该应用程序,但仍然看到Firebase中混淆了堆栈跟踪,则应检查日志文件:

  

在Linux / Windows上:   /.crashlytics/com.crashlytics.tools/crashlytics.log
  在Mac上:   〜/ Library / Caches / com.crashlytics / com.crashlytics.tools / crashlytics.log

使用以下内容查找最新条目:Uploading deobfuscation file

尝试找到诸如Deobfuscation file(s) uploadedCrashlytics had a problem uploading the deobs file之类的操作结果,您将获得有关原因的一些提示。

答案 3 :(得分:0)

在您的应用级build.gradle文件中将firebaseCrashlytics.enableMappingFileUpload Gradle扩展名属性设置为true。

// To enable Crashlytics mapping file upload for specific product flavors:
  flavorDimensions "environment"
  productFlavors {
    staging {
      dimension "environment"
      ...
      firebaseCrashlytics {
        mappingFileUploadEnabled false
      }
    }
    prod {
      dimension "environment"
      ...
      firebaseCrashlytics {
        mappingFileUploadEnabled true
      }
    }
  }

有关更多详细信息,请访问Click here