Firebase库版本冲突报错:所有Firebase库版本需统一高于或低于14.0.0
解决Firebase库版本不一致的编译错误
错误:(42, 0) 所有Firebase库的版本必须全部高于14.0.0或全部低于14.0.0
你遇到的这个问题核心是Firebase与Google Play服务相关库的版本完全不统一,从你贴出的依赖配置里能看到几个关键冲突点:
- 你已经用了高版本的
firebase-auth:16.0.1和play-services-auth:15.0.1,但同时引入了极低版本的play-services-gcm:9.2.1和firebase-ui:0.6.2,跨版本的混用触发了Google的版本校验机制。 - 配置里还存在重复的依赖声明(比如
firebase-auth和play-services-auth各写了两次),这会进一步增加版本管理的混乱。
具体修复方案
1. 统一所有Firebase/Play Services库版本
把所有相关库要么统一升级到匹配的高版本(更推荐,因为旧版本可能存在安全漏洞),要么全部降级到14.0.0以下。这里以升级到稳定兼容的高版本为例:
2. 清理重复依赖
删掉重复的implementation语句,避免冗余。
3. 匹配FirebaseUI的版本
旧版的firebase-ui已经拆分模块,要根据你使用的Firebase功能选择对应模块,同时版本要和核心Firebase库兼容。
给你整理好的修正后依赖配置:
apply plugin: 'com.android.application' // 核心依赖 implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.google.firebase:firebase-auth:16.0.5' implementation 'com.google.android.gms:play-services-auth:16.0.1' implementation 'com.google.android.gms:play-services-gcm:16.0.0' implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:support-annotations:28.0.0' // 对应版本的FirebaseUI Auth模块 implementation 'com.firebaseui:firebase-ui-auth:4.3.1' // 测试依赖 testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' apply plugin: 'com.google.gms.google-services'
另外要注意两个细节:
apply plugin: 'com.android.application'必须放在gradle文件的最开头,apply plugin: 'com.google.gms.google-services'要放在文件的最后,顺序不能颠倒。- 如果你的项目已经迁移到AndroidX,需要把所有
com.android.support开头的库替换为对应的AndroidX依赖,同时Firebase库版本也要更新到支持AndroidX的版本。
内容的提问来源于stack exchange,提问作者blackfire
相关产品推荐
相关产品推荐

