Firebase Crashlytics - java.lang.IllegalStateException:缺少 Crashlytics 构建 ID

问题描述 投票:0回答:9

根据我们的应用程序中添加的新版本 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 指南

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

任何帮助将不胜感激。

android firebase crashlytics crashlytics-android firebase-crash-reporting
9个回答
74
投票

在应用程序级别的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 解决了我的问题

希望对你有帮助!


31
投票

这通常发生在

apply plugin: 'com.google.firebase.crashlytics'
应用级别缺少插件
build.gradle
时。


23
投票

如果有人仍然遇到此问题,请尝试在项目级别 gradle 中使用 crashlytics gradle 版本

2.1.1
。我这样做解决了我的问题。

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

20
投票

请补充

 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'
}

12
投票

如果您忘记包含,也会发生这种情况

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()
    }
}

4
投票

将以下代码添加到

project/android/app/build.gradle

apply plugin: 'com.google.firebase.crashlytics'


3
投票

解决我的问题的唯一方法是将以下行 -

<string name="com.crashlytics.android.build_id">1</string>
添加到
strings.xml
,如建议的here


0
投票

添加此行

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

这将解决这个问题


0
投票

几个小时后我终于弄清楚了。我使用

./gradlew app:dependencies
命令列出依赖关系树只是为了注意到,某些库(不是最新的)使用旧版本的 crashlytics 库。我更新了它们,问题终于消失了!

© www.soinside.com 2019 - 2024. All rights reserved.