Android Firebase Admin SDK版本冲突求助:所有Firebase库需统一14.0.0上下版本
这个问题我之前帮不少开发者解决过——本质是Firebase在14.0.0版本后引入了严格的版本一致性规则,你的项目里肯定同时混了跨14.0.0版本的Firebase库:一部分是15.x(比如你列出的firebase-auth:15.0.0和firebase-database:15.0.0),另一部分是14.0.0及以下版本的Firebase依赖(可能是直接引入的,也可能是第三方库间接带进来的),导致Gradle同步触发这个报错。
下面是具体的解决步骤:
1. 排查所有Firebase依赖
首先要找出所有冲突的版本,你可以在项目根目录执行Gradle命令查看完整依赖树:
./gradlew app:dependencies
(Windows用户用gradlew.bat app:dependencies)
在输出里搜索com.google.firebase开头的条目,看是否存在版本同时低于14.0.0和高于14.0.0的情况。
2. 统一所有Firebase库版本
方式一:手动统一版本
把所有直接引入的Firebase依赖都改成同一个版本(比如你正在用的15.0.0,或者升级到更稳定的高版本),确保没有版本差异:
// 示例:所有Firebase依赖统一为15.0.0 implementation 'com.google.firebase:firebase-auth:15.0.0' implementation 'com.google.firebase:firebase-database:15.0.0' // 如果还有其他Firebase组件(比如storage、messaging),也统一版本 implementation 'com.google.firebase:firebase-storage:15.0.0'
方式二:用Firebase BOM自动管理版本(推荐)
Google提供了Firebase物料清单(BOM),可以自动帮你维护所有Firebase库的版本一致性,不用手动写每个库的版本号:
dependencies { // 引入Firebase BOM(用最新稳定版本,比如当前的32.7.0) implementation platform('com.google.firebase:firebase-bom:32.7.0') // 引入Firebase组件时无需指定版本,BOM会自动匹配兼容版本 implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-database' }
3. 处理间接依赖的冲突
如果冲突来自第三方库间接引入的旧版Firebase,你可以用Gradle的exclude规则移除第三方库自带的Firebase依赖,然后手动引入对应版本的Firebase库:
// 示例:排除第三方库中的旧版firebase-auth implementation('com.example:some-third-party-lib:1.0.0') { exclude group: 'com.google.firebase', module: 'firebase-auth' } // 然后手动引入统一版本的firebase-auth implementation 'com.google.firebase:firebase-auth:15.0.0'
额外提醒
注意:Firebase Admin SDK是给后端服务使用的,不要在Android客户端项目中引入——如果你的项目里误加了com.google.firebase:firebase-admin依赖,赶紧移除,客户端只需要用firebase-auth、firebase-database这类客户端SDK即可。
执行完以上步骤后,重新同步Gradle,这个版本冲突的报错应该就能解决了。
内容的提问来源于stack exchange,提问作者Rama Keren




