Android Studio依赖冲突:play-services-measurement-base版本不一致
解决Android Studio中com.google.android.gms:play-services-measurement-base依赖冲突问题
嘿,刚上手Android Studio遇到这种依赖冲突太正常了,别担心,咱们一步步来搞定它:
第一步:先搞清楚冲突来源
按照错误提示的方法,先查看完整的依赖树,找出到底是哪些库在拉不同版本的play-services-measurement-base:
- 打开终端(Windows用命令提示符,Mac/Linux用终端),切换到你的项目根目录
- 运行命令:
./gradlew :app:dependencies - 在输出的依赖树里搜索
com.google.android.gms:play-services-measurement-base,就能看到哪些依赖分别请求了15.0.0和15.0.2版本。
第二步:选择适合的解决方法
方法一:强制统一版本(最简单直接)
直接告诉Gradle,不管其他依赖请求什么版本,都统一使用指定的版本。在你的app模块的build.gradle文件里,找到android代码块,添加以下配置:
android { // 你原本的其他配置(compileSdk、defaultConfig之类的)... configurations.all { resolutionStrategy.force 'com.google.android.gms:play-services-measurement-base:15.0.2' } }
这样所有依赖都会使用15.0.2版本的库,冲突自然就消失了。
方法二:排除特定依赖的冲突库
如果不想强制所有依赖统一版本,你可以针对拉取旧版本的那个库,排除它对play-services-measurement-base的依赖。比如你在依赖树里发现com.example:some-third-party-lib:1.0.0拉了15.0.0版本,就在dependencies块里修改这个依赖:
dependencies { implementation('com.example:some-third-party-lib:1.0.0') { exclude group: 'com.google.android.gms', module: 'play-services-measurement-base' } // 你的其他依赖... }
这样这个第三方库就不会再引入旧版本的冲突库,会自动使用项目中其他依赖的15.0.2版本。
方法三:统一所有Google Play服务相关依赖版本
Google的Play服务系列库版本最好保持一致,很多冲突都是因为部分库用了旧版本导致的。检查你项目里所有com.google.android.gms开头的依赖,把它们的版本都统一成15.0.2(或者更高的兼容版本),比如:
dependencies { implementation 'com.google.android.gms:play-services-analytics:15.0.2' implementation 'com.google.android.gms:play-services-auth:15.0.2' // 其他Play服务依赖... }
这样版本统一后,依赖冲突也会被解决。
小提示
- Google Play服务和Firebase相关库的版本通常需要匹配,如果你项目里用了Firebase,也要确保Firebase库的版本和Play服务版本对应哦。
- 以后遇到类似的依赖冲突,都可以用
./gradlew :app:dependencies命令先排查依赖树,再针对性解决。
内容的提问来源于stack exchange,提问作者Josip Valčić
相关产品推荐
相关产品推荐

