gms/firebase库版本不一致及相关兼容性问题的技术咨询
你这情况我太熟了,Android开发里GMS/Firebase库版本不统一绝对是坑中之坑——混合版本轻则编译报错,重则直接触发运行时崩溃,还很难定位原因。
给你几个具体的解决步骤:
强制统一所有GMS/Firebase库版本
所有以com.google.android.gms和com.google.firebase开头的依赖,必须用完全相同的版本号。你现在检测到15.0.0和12.0.1两个版本,建议统一升级到较新的稳定版本(比如选15.0.0,或者更后续的兼容版本)。举个调整后的依赖示例:implementation 'com.google.android.gms:play-services-ads:15.0.0' implementation 'com.google.android.gms:play-services:15.0.0'划重点:哪怕是Firebase相关的库(比如
com.google.firebase:firebase-messaging),版本号也得和GMS库保持一致。揪出隐藏的冲突依赖
有时候第三方库会偷偷引入不同版本的GMS/Firebase库,这时候可以用Gradle命令查看完整的依赖树:./gradlew app:dependencies找到那些带旧版本GMS的第三方依赖,用
exclude语法把冲突的模块排除掉,再手动添加统一版本的GMS依赖,比如:implementation('com.some.thirdparty:library:1.0.0') { exclude group: 'com.google.android.gms' }同步Android支持库版本
你提到的Android支持库版本问题也得重视,GMS库和支持库版本是有兼容性对应关系的。比如GMS 15.x系列通常需要搭配27.x及以上版本的支持库,尽量用最新的稳定支持库版本,避免因为版本不匹配引发各种奇怪的Bug。
最后提醒下:修改完依赖后一定要点Android Studio里的「Sync Project with Gradle Files」同步项目,如果还是有问题,试试清理缓存(File -> Invalidate Caches / Restart),大概率能解决。
内容的提问来源于stack exchange,提问作者Android Guy

