【问题标题】:Firebase Crashlytics - java.lang.IllegalStateException: The Crashlytics build ID is missingFirebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID
【发布时间】:2020-11-29 04:28:06
【问题描述】:

根据我们的应用程序中添加的新版本 Firebase Crashlytics,应用程序在启动时停止。

java.lang.RuntimeException:无法获取提供程序 com.google.firebase.provider.FirebaseInitProvider:java.lang.IllegalStateException:缺少 Crashlytics 构建 ID。当您的应用的构建配置中缺少 Crashlytics 工具时,就会发生这种情况。请查看 Crashlytics 入职说明并确保您拥有有效的 Crashlytics 帐户。

应用级 Gradle 应用插件:'com.google.firebase.crashlytics'

实施 'com.google.firebase:firebase-crashlytics:17.1.1'

项目级 Gradle 类路径 'com.google.gms:google-services:4.3.3' 类路径'com.google.firebase:firebase-crashlytics-gradle:2.2.0'

按照 Firebase 指南中的分步操作 Firebase Guides

但是早期的 Fabric 版本比现在的要好太多了。

任何帮助将不胜感激。

【问题讨论】:

  • 有同样的问题。一旦我弄清楚就会在这里发布解决方案
  • 这个错误很烦人。我们有它,我已尽一切努力帮助修复它,但没有运气

标签: android firebase crashlytics crashlytics-android firebase-crash-reporting


【解决方案1】:

在应用程序级别的 build.gradle 中,添加以下导入
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'

然后,在 gradle/wrapper/gradle-wrapper.properties 文件中,将您的 gradle 版本升级到 5.6.4
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

我曾经使用 gradle 5.1.1 运行我的应用程序并升级到 5.6.4 版本解决了我的问题

希望对你有帮助!

【讨论】:

  • 谢谢,这有助于解决问题。我在services.gradle.org/distributions 查到 5.6.4 是最新的版本 5。
  • 这就是谷歌文档很烂的原因。没有提到这一点。浪费了 1 小时试图通过更新 google-services.json 来添加 id 等等。
  • 还记得在根 build.gradle 中包含 Amir Raza 提到的 buildscript 依赖类路径
【解决方案2】:

这通常发生在 apply plugin: 'com.google.firebase.crashlytics' 插件在 build.gradle 应用程序级别中丢失时。

【讨论】:

    【解决方案3】:

    如果有人对此问题仍有疑问,请尝试在项目级 gradle 中使用 crashlytics gradle verions 2.1.1。我这样做解决了我的问题。

    buildscript {       
        ...
        dependencies {
            ... 
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1'    
        }
    }
    

    【讨论】:

    • 虽然从 2.4.1 降级到 2.1.1(甚至 2.2.1)确实解决了这个问题,但在 gradle/wrapper/gradle-wrapper 中更新 cradle 版本可能是一个更好的选择.properties 文件,由 xerib 指示:stackoverflow.com/a/63795391/2439941
    【解决方案4】:

    请补充

     classpath 'com.google.firebase:firebase-crashlytics-gradle:x.x.x'
    

    到您项目的构建 gradle。并且不要忘记将以下行添加到您应用的构建 gradle 中

    plugins {
        id 'com.android.application'
        id 'com.google.gms.google-services'
        id 'com.google.firebase.crashlytics'
    }
    

    【讨论】:

      【解决方案5】:

      如果您忘记包含,也会发生这种情况 classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1' 在你的项目级别 build.gradle

      buildscript {
          repositories {
              // Check that you have Google's Maven repository (if not, add it).
              google()
          }
      
          dependencies {
              // ...
      
              // Check that you have the Google services Gradle plugin v4.3.2 or later
              // (if not, add it).
              classpath 'com.google.gms:google-services:4.3.8'
      
              // Add the Crashlytics Gradle plugin
              classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
          }
      }
      
      allprojects {
          repositories {
              // Check that you have Google's Maven repository (if not, add it).
              google()
          }
      }
      

      【讨论】:

        【解决方案6】:

        添加这一行

        implementation "com.google.firebase:firebase-iid"
        

        这将解决这个问题

        【讨论】:

          猜你喜欢
          • 2020-08-19
          • 1970-01-01
          • 1970-01-01
          • 2018-11-14
          • 2020-11-15
          • 1970-01-01
          • 1970-01-01
          • 2020-09-13
          • 1970-01-01
          相关资源
          最近更新 更多