Firebase升级至12.0.0版本后Gradle构建报错问题排查
嘿,我来帮你排查Firebase升级到12.0.0后的Gradle编译问题!结合你给出的配置,我整理了几个最可能的原因和对应的修复方法:
1. Google Services插件版本不匹配
你在app模块底部配置的com.google.gms.google-services插件版本必须和Firebase SDK 12.0.0兼容——如果插件版本太旧,直接会导致依赖解析失败。
修复步骤:
打开根目录下的build.gradle文件,找到buildscript里的dependencies块,把com.google.gms:google-services的版本更新为3.2.1(这是和Firebase 12.0.0匹配的稳定版本)。示例代码如下:
buildscript { dependencies { // 务必让这个版本和Firebase SDK版本匹配 classpath 'com.google.gms:google-services:3.2.1' } }
2. 没配置Google Maven仓库
Firebase SDK的依赖包都存在Google的专属Maven仓库里,如果你的项目没加这个仓库,Gradle根本找不到这些依赖,自然会报错。
修复步骤:
同样在根目录下的build.gradle里,找到allprojects块,添加Google Maven仓库的配置:
allprojects { repositories { jcenter() // 加上这行,Gradle才能拉到Firebase的依赖 maven { url 'https://maven.google.com' } // 如果你的Gradle版本在4.1以上,也可以用更简洁的google()代替上面的行 // google() } }
3. Firebase Core依赖的小提醒(针对12.0.0版本)
在Firebase 12.0.0这个版本里,firebase-core还是初始化Firebase的核心依赖,你当前三个依赖都统一用12.0.0版本的做法是对的——千万不要混版本,不然也会出问题。
顺带提一句:在17.0.0及以上的Firebase版本里,
firebase-core已经被废弃了,Firebase会自动通过其他核心服务完成初始化,但12.0.0版本还得保留这个依赖哈。
4. 额外检查:Android Gradle插件版本
确保你的Android Gradle插件版本和Google Services插件兼容。比如用Android Gradle插件3.0.1或更高版本来配合google-services:3.2.1,根build.gradle的配置示例:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.google.gms:google-services:3.2.1' } }
做完这些调整后,点击Android Studio右上角的Sync Project with Gradle Files按钮重新同步一下,应该就能解决编译报错的问题了!
内容的提问来源于stack exchange,提问作者Surya Adiputra

