Android Studio 3.1编译报错:com.android.support库版本不一致致运行崩溃
解决Android Studio 3.1 + Android P预览版编译时Support Library版本冲突问题
嗨,这个问题我升级到Android P预览版的时候也踩过坑!Android Studio 3.1对Support Library的版本一致性检查变得更严格了,一旦有不同版本的support库混在一起,就会抛出这个错误——毕竟版本混用确实很容易导致运行时崩溃。
下面是我亲测有效的解决步骤:
1. 先定位冲突来源
首先你得搞清楚到底是哪个第三方依赖偷偷引入了旧版本的support-media-compat:26.1.0。打开终端,在项目根目录执行Gradle命令查看依赖树:
# Mac/Linux ./gradlew app:dependencies # Windows gradlew app:dependencies
执行完后,搜索support-media-compat:26.1.0,就能找到它的父依赖(也就是哪个库带进来的)。
2. 两种解决办法任你选
办法一:强制所有Support Library使用同一版本
在你的app模块的build.gradle文件里,添加一个配置块,强制指定所有冲突的support库都使用Android P对应的28.0.0-alpha1版本:
configurations.all { resolutionStrategy { // 强制指定冲突的库版本 force 'com.android.support:support-media-compat:28.0.0-alpha1' force 'com.android.support:animated-vector-drawable:28.0.0-alpha1' // 如果你还发现其他冲突的support库,继续在这里添加即可 // 或者更通用的写法,强制所有com.android.support开头的库用同一版本: // force group: 'com.android.support', name: '*', version: '28.0.0-alpha1' } }
这种方法简单直接,不用修改第三方依赖版本。
办法二:升级第三方依赖版本
如果找到的那个父依赖有更新版本,而且新版本已经适配了28.0.0-alpha1的Support Library,那直接升级这个第三方依赖的版本就好。比如如果是某个图片加载库或者广告SDK,去它的官方仓库看看有没有最新版,替换掉旧版本后,冲突自然就解决了。
3. 额外检查:确保手动引入的库版本统一
别忘了检查你自己在build.gradle里手动引入的support库(比如appcompat-v7、recyclerview-v7、design等),确保它们的版本都是28.0.0-alpha1,不要有遗漏的。
这样处理完后,再重新编译项目,应该就能顺利通过了!
内容的提问来源于stack exchange,提问作者drmrbrewer
相关产品推荐
相关产品推荐

