我有一个具有两种构建类型的 Android 应用程序。一是Debug
另一个是Release
the issue我面临的是我的Debug Build
正在向 Crashlytics 和我的发送崩溃报告Release Build
不会向 Crashlytics 控制台发送任何崩溃报告,并显示加载图标,如屏幕截图所示。
两种变体的区别在于Proguard已启用,而另一个则未启用。
构建类型build.gradle(:app)
看起来像这样:
buildTypes {
debug {
debuggable true
firebaseCrashlytics {
mappingFileUploadEnabled false
}
}
release {
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig getSigningConfig()
firebaseCrashlytics {
mappingFileUploadEnabled false
}
}
}
我已按照此处提到的完整步骤设置 crashlytics:Firebase Crashlytics 指南 https://firebase.google.com/docs/crashlytics/get-started?platform=android
这是清单
- 从控制台启用 Crashlytics
- 添加了 Crashlytics Gradle 插件作为项目级别的构建脚本依赖项
build.gradle
with 版本:2.3.0
- 应用gradle插件
build.gradle(:app)
- 初始化的Crashlytics
好吧,发现问题与这里的这个标志有关:
firebaseCrashlytics {
mappingFileUploadEnabled false
}
如果是Debug
build Proguard 未启用,因此也未创建映射文件,因此无需上传mappings file.
但在这种情况下Release
构建,我已经启用了proguard
因此,从技术上讲,我需要启用映射文件上传,以便将 crashlytics 报告发送到控制台并正确报告。
将上面的代码修改为Release
至此解决了问题。
firebaseCrashlytics {
mappingFileUploadEnabled true
}
从这里的文档中得到线索 https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android#firebase-crashlytics-sdk_7
修复该问题后,我在创建签名的 apk 时遇到了另一个问题The Host name may not be empty
你可以请按照此进行修复。 http://The%20Host%20name%20may%20not%20be%20empty
干杯:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)