如何将映射文件上传到 Firebase Crashlytics?
How to upload a mapping file to Firebase Crashlytics?
在旧的崩溃报告中 - 有一种简单的上传方法。我没有在 Crashlytics 部分找到它
这里是来自 Firebase 的迈克。 Firebase 中的 Crashlytics 不提供在构建流程之外上传映射文件的方法。我个人很好奇,你是不是经常使用手动上传?
更新: 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
For faster builds with ProGuard, exclude Crashlytics. Add the
following lines to your config file:
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
如果您按照指示启用自动上传然后构建应用程序,并且您仍然看到堆栈跟踪在 Firebase 中被混淆,您应该检查日志文件:
On Linux / Windows:
/.crashlytics/com.crashlytics.tools/crashlytics.log
On Mac:
~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log
查找最新条目:Uploading deobfuscation file
并尝试找到如下操作的结果:Deobfuscation file(s) uploaded
或 Crashlytics had a problem uploading the deobs file
,您会得到一些关于原因的提示。
在您的应用级 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
在旧的崩溃报告中 - 有一种简单的上传方法。我没有在 Crashlytics 部分找到它
这里是来自 Firebase 的迈克。 Firebase 中的 Crashlytics 不提供在构建流程之外上传映射文件的方法。我个人很好奇,你是不是经常使用手动上传?
更新: 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
For faster builds with ProGuard, exclude Crashlytics. Add the following lines to your config file:
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
如果您按照指示启用自动上传然后构建应用程序,并且您仍然看到堆栈跟踪在 Firebase 中被混淆,您应该检查日志文件:
On Linux / Windows: /.crashlytics/com.crashlytics.tools/crashlytics.log
On Mac: ~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log
查找最新条目:Uploading deobfuscation file
并尝试找到如下操作的结果:Deobfuscation file(s) uploaded
或 Crashlytics had a problem uploading the deobs file
,您会得到一些关于原因的提示。
在您的应用级 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