升级Firebase Crash Reporting至Crashlytics遇构建报错,求解决方案
嘿,我来帮你搞定这个升级遇到的问题!你碰到的Error:(2, 0) Plugin with id 'io.fabric' not found和Error:(62, 13) Failed to resolve: com.crashlytics.sdk.android:crashlytics:2.7.1,本质是因为现在Crashlytics已经完全整合进Firebase生态,旧的Fabric相关配置已经不再适用了。下面是一步步的修复方案:
1. 更新项目根目录的build.gradle文件
打开项目根目录下的build.gradle,做以下修改:
替换Buildscript中的依赖和仓库
把原来的Fabric插件依赖和仓库替换成Firebase的Crashlytics插件:
buildscript { repositories { // 确保包含以下仓库 google() mavenCentral() } dependencies { // 保留你的Android Gradle Plugin版本(比如7.4.2,根据你的项目调整) classpath 'com.android.tools.build:gradle:7.4.2' // 添加Firebase Crashlytics Gradle插件(建议用最新稳定版) classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' // 保留Google Services插件(如果之前集成Firebase就有这行) classpath 'com.google.gms:google-services:4.3.15' } } allprojects { repositories { google() mavenCentral() } }
注意:如果你的项目使用Android Gradle Plugin 7.0+,仓库配置可能需要移到
settings.gradle中,确保settings.gradle里添加了mavenCentral()和google()仓库即可。
2. 更新模块级build.gradle文件
打开app模块(或你要集成Crashlytics的目标模块)的build.gradle,修改以下内容:
替换插件声明
删除旧的Fabric插件引用,换成Firebase Crashlytics插件:
// 删掉这行旧声明:apply plugin: 'io.fabric' apply plugin: 'com.google.firebase.crashlytics' // 保留google-services插件(如果之前有的话) apply plugin: 'com.google.gms.google-services'
如果你用的是AGP 7.0+推荐的Plugins DSL格式,可以写成:
plugins { id 'com.android.application' id 'com.google.firebase.crashlytics' id 'com.google.gms.google-services' }
替换Crashlytics依赖
把旧的Fabric Crashlytics依赖替换成Firebase官方的依赖:
dependencies { // 删掉这行旧依赖:implementation 'com.crashlytics.sdk.android:crashlytics:2.7.1' implementation 'com.google.firebase:firebase-crashlytics:18.3.2' // Crashlytics依赖Analytics,确保添加这个(如果之前没加的话) implementation 'com.google.firebase:firebase-analytics:21.2.0' }
3. 后续验证步骤
- 点击Android Studio右上角的Sync Now按钮,同步Gradle配置
- 执行Build > Clean Project,然后Build > Rebuild Project
- 确保你的项目已经正确添加了
google-services.json文件(从Firebase控制台下载后放在app模块根目录)
如果还是有问题,可以检查Gradle和AGP的版本是否匹配——最新的Crashlytics插件需要AGP 4.2+,如果你的AGP版本太旧,建议先升级到稳定版。
内容的提问来源于stack exchange,提问作者Naveen Mahaur

