问题描述
我已按照建议实施Firebase
crashlytics
。我已将其放入应用级别release
的构建版本中:
firebaseCrashlytics
{
mappingFileUploadEnabled true
}
但是当我开始构建签名的apk
时,我总是会收到此错误
任务:app:uploadCrashlyticsMappingFileRelease失败
失败:构建失败,并出现异常。
- 出了什么问题: 任务':app:uploadCrashlyticsMappingFileRelease'的执行失败。
预期的文件集合仅包含一个文件,但是不包含任何文件。
如果我将mappingFileUploadEnabled
设置为false
,则发布的apk
构建成功。我进行了很多搜索,但找不到解决方法。有人可以帮忙吗?
解决方法
错误:“Crashlytics 找不到 Google 服务插件任务:processReleaseGoogleServices。确保在 com.google.firebase.crashlytics 之前应用 com.google.gms.google-services。如果您没有使用 Google 服务插件,您必须为 Crashlytics 上传任务明确声明 googleServicesResourceRoot 输入。”
我在 build.gradle 中有这样的东西
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.gms.google-services'
把它改成这个,瞧!它有效:
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
,
我通过将以下行从页面底部移动到构建 gradle 顶部解决了这个问题。
以前的设置:
apply plugin: 'com.google.gms.google-services'
新设置:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
问题解决了。
,我今天也遇到了同样的事件。发生这种情况的原因如下。
如果设置了minify true,则会在构建时应用混淆并创建mapping.txt。
如果minimum为false,则不会在构建时对其进行混淆,也不会创建mapping.txt。
如果您在最小化false状态下将mappingFileUploadEnabled设置为true,则即使在构建时未创建mapping.txt,Firebase SDK也会尝试将mapping.txt上传到Firebase。 结果是一个错误。
因此,如果将minify设置为false,则必须将mappingFileUpUpEnabled设置为false,如果将minify设置为true,则需要将mappingFileUploadEnabled设置为true或false(当mappingFileUploadEnabled为false时,Firebase的崩溃日志会被混淆。将会显示在状态中。)
- 提示
https://firebase.google.com/docs/crashlytics/upgrade-sdk?platform=android#firebase-crashlytics-sdk_7
https://developer.android.com/studio/build/shrink-code#enable
,就我而言,我收到错误是因为我没有连接到互联网连接。通过连接到互联网连接修复了它,我的构建版本运行良好。
,将其添加到build.gradle文件的底部
apply plugin: 'com.google.gms.google-services'
,
File -> Invalidate cache and restart 解决了这个问题
,只需更改crashlytics的顺序,应用如下插件:
// Put Google Service
apply plugin: 'com.google.gms.google-services'
// After that the Firebase Crashlytics plugin.
apply plugin: 'com.google.firebase.crashlytics'