首次使用Firebase遇Gradle同步版本冲突问题求助
解决Gradle同步时的Google Services版本冲突问题
别担心,你遇到的是Google Services插件与Firebase依赖版本不兼容的典型问题,我来帮你拆解原因和解决办法:
问题根源
你当前使用的google-services:3.2.0插件版本,仅支持最高11.4.2版本的Firebase/Google Play服务依赖,但你引入的Firebase Core和Auth都是12.0.0版本,版本不匹配导致了同步错误。
解决方案(二选一即可)
方案1:升级Google Services插件版本
修改Project根目录下的build.gradle文件,把google-services插件版本升级到支持12.0.0 Firebase的版本,同时修正maven仓库的语法错误:
dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // 升级到支持12.0.0 Firebase的插件版本 classpath 'com.google.gms:google-services:4.0.1' } allprojects { repositories { google() jcenter() // 修正引号闭合错误 maven { url "https://maven.google.com" } // Google's Maven repository } }
方案2:降级Firebase依赖版本
如果你暂时不想升级插件,可以把App模块下build.gradle里的Firebase依赖降级到11.4.2,和当前插件版本兼容:
apply plugin: 'com.google.gms.google-services' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' // 降级到插件支持的11.4.2版本 implementation 'com.google.firebase:firebase-core:11.4.2' implementation 'com.google.firebase:firebase-auth:11.4.2' }
额外小提示
- 建议把
compile关键字替换为implementation,这是Android Gradle插件3.0+推荐的依赖声明方式,功能一致但更规范。 - 确保你在Project的
build.gradle中正确定义了kotlin_version变量(比如ext.kotlin_version = "1.2.30",这个版本要和你使用的Kotlin插件匹配)。
内容的提问来源于stack exchange,提问作者Hariharan Thiagarajan
相关产品推荐
相关产品推荐

