You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android Firebase Admin SDK版本冲突求助:所有Firebase库需统一14.0.0上下版本

解决Firebase库版本冲突:All firebase libraries must be either above or below 14.0.0

这个问题我之前帮不少开发者解决过——本质是Firebase在14.0.0版本后引入了严格的版本一致性规则,你的项目里肯定同时混了跨14.0.0版本的Firebase库:一部分是15.x(比如你列出的firebase-auth:15.0.0firebase-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-authfirebase-database这类客户端SDK即可。

执行完以上步骤后,重新同步Gradle,这个版本冲突的报错应该就能解决了。

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

火山引擎 最新活动