Gradle 7.2下Android项目添加Firebase Crashlytics依赖报插件未找到错误
问题根因
你迁移Crashlytics插件配置时写错了插件ID,直接照搬classpath依赖的构件名拼接插件ID是错的,所以Gradle搜不到对应插件。
你之前成功迁移的google-services插件ID刚好和构件名对应,但Crashlytics的Gradle插件在plugins DSL下的合法ID根本不是你写的com.google.firebase.firebase-crashlytics-gradle。
修复方案
按以下步骤改配置即可,你现有的Gradle版本、settings.gradle仓库配置都是符合要求的,不需要调整:
- 修改项目根目录的
build.gradle,替换plugins块里错误的Crashlytics插件声明
把原来错误的配置行:
替换为正确写法:id 'com.google.firebase.firebase-crashlytics-gradle' version '2.9.0' apply falseid 'com.google.firebase.crashlytics' version '2.9.0' apply false - 打开app模块目录下的
build.gradle,在文件顶部的plugins块中引入两个插件(注意模块级的插件声明不要加version和apply false参数):plugins { // 原有其他插件(比如com.android.application、kotlin相关插件)保持不动 id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' } - 在app模块的dependencies块中添加Crashlytics运行时依赖,建议配合Firebase BOM使用来保证版本兼容:
dependencies { // 原有其他依赖保持不动 implementation platform('com.google.firebase:firebase-bom:31.2.0') // Kotlin项目用这行 implementation 'com.google.firebase:firebase-crashlytics-ktx' // Java项目把上面那行替换为下面这行 // implementation 'com.google.firebase:firebase-crashlytics' }
改完之后同步Gradle,就不会再报找不到插件的错误了。
注意:很多旧教程还在使用老的buildscript + classpath的配置方式,这种写法在Gradle7.x的新plugins DSL规则下不需要用,不要混着写两套配置,容易出现版本冲突。
内容的提问来源于stack exchange,提问作者Ammar Abdullah
相关产品推荐
相关产品推荐

