添加Admob广告依赖后遇版本冲突警告,仅需Ads无需Firebase
解决AdMob依赖版本冲突警告的方案
我明白你的困扰——明明只加了AdMob的依赖,却莫名出现了版本混合的警告,而且你完全不想碰Firebase对吧?
问题原因
你添加的com.google.android.gms:play-services-ads:15.0.0其实间接依赖了com.google.android.gms:play-services-ads-identifier这个库,而它的版本是15.0.1,和你声明的ads版本不一致,所以Gradle抛出了“所有GMS/Firebase库必须使用完全相同版本”的警告。
两种可行解决方案
你不需要集成Firebase,选下面任意一种方法就能解决:
方法1:显式统一依赖版本
直接在build.gradle里添加ads-identifier的依赖,指定和ads相同的15.0.0版本,强制Gradle使用统一版本:
implementation 'com.google.android.gms:play-services-ads:15.0.0' // 显式声明该依赖来统一版本 implementation 'com.google.android.gms:play-services-ads-identifier:15.0.0'
方法2:升级AdMob依赖版本
把AdMob的依赖版本升级到15.0.1,和间接依赖的ads-identifier版本保持一致:
implementation 'com.google.android.gms:play-services-ads:15.0.1'
额外说明
这两种方法都不会引入Firebase相关的代码,完全符合你只使用AdMob广告的需求。如果没有特殊原因,更推荐第二种方法——使用匹配的版本能减少潜在的兼容性问题,后续维护也更省心。
内容的提问来源于stack exchange,提问作者Cristina99
相关产品推荐
相关产品推荐

