You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android依赖冲突问题:firebase-core编译与运行时版本不一致

解决com.google.firebase:firebase-core依赖版本冲突问题

你遇到的是典型的Google Play Services/Firebase依赖版本不一致问题——虽然你在app的build.gradle里都声明了11.4.2版本,但肯定有某个间接依赖偷偷引入了12.0.1的firebase-core,导致编译和运行时版本不匹配。下面给你几个可行的解决方法:

方法一:强制统一所有Google服务依赖版本

在你的app模块的build.gradle里,添加resolutionStrategy规则,强制所有com.google.gms和com.google.firebase相关依赖使用你指定的版本:

configurations.all {
    resolutionStrategy {
        force 'com.google.firebase:firebase-core:11.4.2'
        force 'com.google.android.gms:play-services-ads:11.4.2'
        force 'com.google.android.gms:play-services-base:11.4.2'
        force 'com.google.firebase:firebase-messaging:11.4.2'
    }
}

这样不管间接依赖引入哪个版本,都会被强制替换成11.4.2,从根源上解决版本冲突。

方法二:升级匹配的Google Services插件版本

你当前用的com.google.gms:google-services:3.0.0版本偏老,和11.4.2的Firebase版本兼容性不足。建议把插件版本升级到对应适配的版本:
在project的build.gradle里修改:

classpath 'com.google.gms:google-services:4.0.1' // 该版本适配11.4.x系列的Firebase依赖

Google Services插件和Firebase版本有严格的对应关系,4.0.x系列刚好适配11.4.x的Firebase,能减少插件自身导致的版本解析问题。

方法三:定位冲突来源并排除

如果你想搞清楚到底是哪个依赖引入了12.0.1的firebase-core,可以在Android Studio的Terminal中执行命令:

./gradlew app:dependencies

在输出的依赖树里搜索com.google.firebase:firebase-core,就能找到冲突的来源。之后给那个依赖加上exclude规则,移除冲突的firebase-core:
比如发现是xxx:yyy:1.0.0这个库引入的,就这么写:

implementation('xxx:yyy:1.0.0') {
    exclude group: 'com.google.firebase', module: 'firebase-core'
}

另外提一句:你把implementation换成api没用是正常的——这两个关键字只是控制依赖的可见范围,和版本冲突完全无关,所以这个操作解决不了问题。

内容的提问来源于stack exchange,提问作者Andrews

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:33:57