Android Studio Manifest合并错误求助:support库版本属性冲突
解决Android Manifest合并失败(support库版本冲突)问题
嘿,这个问题我之前帮不少开发者解决过,是典型的Android support库版本不一致导致的Manifest合并失败,别慌,给你两种靠谱的解决办法:
方法一:按照错误提示直接覆盖冲突的meta-data
这个方法适合快速临时解决问题,步骤如下:
- 首先确保你的
AndroidManifest.xml根标签里引入了tools命名空间,如果没有的话加上:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="你的应用包名">
- 在
<application>标签内添加(或修改)对应的meta-data元素,用tools:replace强制覆盖版本值:
<meta-data android:name="android.support.VERSION" android:value="26.1.0" <!-- 这里填你想要保留的版本,比如appcompat的26.1.0 --> tools:replace="android:value" />
这样编译时就会用你指定的版本覆盖来自design库的冲突值。
方法二:统一所有support库的版本(更推荐)
这种方法能从根源上避免后续其他support库的版本冲突问题,更稳妥:
- 打开项目根目录下的
build.gradle(注意是Project级别的,不是App模块的),在buildscript块里添加全局版本变量:
buildscript { ext { supportLibVersion = '26.1.0' // 统一设置成你需要的版本 } repositories { // 你的仓库配置,比如google()、jcenter() } dependencies { // 你的gradle插件依赖 } }
- 然后打开App模块的
build.gradle,所有support库依赖都用这个全局变量:
dependencies { implementation "com.android.support:appcompat-v7:$supportLibVersion" implementation "com.android.support:design:$supportLibVersion" // 其他比如recyclerview、cardview等support库也统一用这个变量 }
这样所有support库版本保持一致,就不会再出现Manifest合并时的版本冲突了。
内容的提问来源于stack exchange,提问作者Elackya
相关产品推荐
相关产品推荐

