根据我们的应用程序中添加的新版本 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 版本比现在的好太多了。
任何帮助将不胜感激。
在应用程序级别的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 解决了我的问题
希望对你有帮助!
这通常发生在
apply plugin: 'com.google.firebase.crashlytics'
应用级别缺少插件 build.gradle
时。
如果有人仍然遇到此问题,请尝试在项目级别 gradle 中使用 crashlytics gradle 版本
2.1.1
。我这样做解决了我的问题。
buildscript {
...
dependencies {
...
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1'
}
}
请补充
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'
}
如果您忘记包含,也会发生这种情况
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()
}
}
将以下代码添加到
project/android/app/build.gradle
apply plugin: 'com.google.firebase.crashlytics'
解决我的问题的唯一方法是将以下行 -
<string name="com.crashlytics.android.build_id">1</string>
添加到 strings.xml
,如建议的here。
添加此行
implementation "com.google.firebase:firebase-iid"
这将解决这个问题
几个小时后我终于弄清楚了。我使用
./gradlew app:dependencies
命令列出依赖关系树只是为了注意到,某些库(不是最新的)使用旧版本的 crashlytics 库。我更新了它们,问题终于消失了!