引入Firebase Auth 11.8.0时出现依赖解析失败问题求助
问题分析与解决方案
绝对是版本兼容性问题——Firebase Auth 11.8.0这个版本在依赖匹配上有几个严格的要求,结合你给出的Gradle配置(compileSdk 26、minSdk 21),我给你整理了几个必查的修复方向:
1. 强制统一所有Firebase/Google Play Services依赖版本
Firebase的所有组件(Auth、Database、Storage等)和Google Play Services相关库必须使用完全相同的版本号,哪怕有一个依赖版本和11.8.0不一致,都会触发依赖解析失败。
举个正确的配置示例:
// 你的app模块build.gradle dependencies { // Firebase Auth 11.8.0 implementation 'com.google.firebase:firebase-auth:11.8.0' // 其他Firebase组件必须同步版本 implementation 'com.google.firebase:firebase-storage:11.8.0' // Google Play Services库也要保持同版本 implementation 'com.google.android.gms:play-services-location:11.8.0' }
2. 匹配对应的Google Services插件版本
Firebase 11.8.0要求根目录build.gradle中的com.google.gms:google-services插件版本必须是3.2.1,如果插件版本不匹配,Gradle根本找不到正确的依赖:
// 根目录build.gradle buildscript { dependencies { // 适配compileSdk 26的Gradle插件至少要2.3.0以上,这里用2.3.3更稳定 classpath 'com.android.tools.build:gradle:2.3.3' // 对应Firebase 11.8.0的Services插件版本 classpath 'com.google.gms:google-services:3.2.1' } }
3. 确认仓库配置包含Google Maven
Firebase 11.8.0已经不再优先从jcenter拉取依赖,必须确保你的项目根build.gradle中添加了google()仓库:
// 根目录build.gradle allprojects { repositories { google() // 必须放在前面,优先从这里拉取 jcenter() } }
4. 备选方案:升级到更稳定的兼容版本
11.8.0属于比较早期的Firebase版本,后续的12.0.1版本修复了不少依赖解析的bug,而且同样兼容compileSdk 26。如果上面的步骤都试过还是不行,可以考虑升级到12.0.1,同时同步更新:
- 所有Firebase/Play Services依赖到12.0.1
- Google Services插件到3.3.0
这样配置后,Gradle构建的成功率会高很多。
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

