任务 :app:uploadCrashlyticsMappingFileRelease FAILED 预期文件集合只包含一个文件,但是,它不包含任何文件

Rey*_*ohn 26 android firebase crashlytics-android

我已Firebase crashlytics按照建议实施。我已经把它放在我的应用程序级别release构建变体中:

firebaseCrashlytics
  {
    mappingFileUploadEnabled true
  }
Run Code Online (Sandbox Code Playgroud)

但是当我开始构建签名时,apk我总是收到此错误

任务 :app:uploadCrashlyticsMappingFileRelease FAILED

FAILURE:构建失败,出现异常。

  • 出了什么问题:任务 ':app:uploadCrashlyticsMappingFileRelease' 执行失败。

预期文件集合只包含一个文件,但它不包含任何文件。

如果我设置mappingFileUploadEnabledfalse然后apk成功发布版本。我已经搜索了很多,但找不到解决方法。任何人都可以帮忙吗?

小智 34

错误:“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'
Run Code Online (Sandbox Code Playgroud)

把它改成这个,瞧!有用:

apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
Run Code Online (Sandbox Code Playgroud)


小智 18

我今天遇到了同样的事件。发生这种情况的原因如下。

如果设置了 minify true,则将在构建时应用混淆并创建 mapping.txt。

如果 minify false,它不会在构建时被混淆,也不会创建 mapping.txt。

如果您在 minify false 状态下设置 mappingFileUploadEnabled true,Firebase SDK 将尝试将 mapping.txt 上传到 Firebase,即使 mapping.txt 不是在构建时创建的。结果是错误。

所以,如果你设置minify false,你必须设置mappingFileUploadEnabled 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


A.N*_*N.T 13

就我而言,我收到错误是因为我没有连接到互联网。通过连接到互联网修复了这个问题,我的构建版本非常适合我的 Flutter 应用程序。

  • 是的,这里也一样。第一次尝试构建 APK 时,我的互联网连接速度很慢。于是第二次尝试后,效果很好。 (2认同)

Ume*_*ani 8

只需更改crashlytics 的顺序,应用插件如下:

// Put Google Service
apply plugin: 'com.google.gms.google-services'
// After that the Firebase Crashlytics plugin.
apply plugin: 'com.google.firebase.crashlytics'
Run Code Online (Sandbox Code Playgroud)

  • 恭喜,实际上更改顺序解决了这个特定问题。任务“:app:uploadCrashlyticsMappingFileRelease”(类型“UploadMappingFileTask”)的配置存在问题。> 尚未为属性“googleServicesResourceRoot”指定任何值。 (2认同)

小智 6

我通过将以下行从页面底部移动到构建 gradle 顶部解决了这个问题。

以前的设置:

apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

新设置:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
Run Code Online (Sandbox Code Playgroud)

并且问题解决了。