在Android Studio中添加Firebase时遇processDebugManifest任务执行失败求助
解决Android Studio添加Firebase时的Manifest合并冲突问题
嘿,这个问题我帮不少开发者踩过坑!本质就是Support库版本不一致导致的清单合并失败——你项目里同时引入了com.android.support:appcompat-v7:26.0.0-beta1和com.android.support:support-v4:26.1.0,两个库在Manifest里的android.support.VERSION元数据值不一样,系统不知道该用哪个,就报错了。
给你两种解决思路,推荐第二种从根源解决:
方法一:按提示直接覆盖冲突值
这是错误提示里给出的快速解决方案:
- 先确保你的
AndroidManifest.xml根标签引入了tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="你的应用包名">
- 在
application标签内添加(或修改)对应的meta-data标签,强制指定版本并覆盖冲突:
<meta-data android:name="android.support.VERSION" android:value="26.1.0" tools:replace="android:value" />
同步Gradle后,这个冲突就会被强制覆盖掉。
方法二:统一所有Support库版本(更推荐)
版本冲突的根源是依赖库版本不统一,直接把所有Support库的版本对齐,能避免后续更多类似问题:
- 打开项目根目录的
build.gradle(Project级别的那个),在ext块里定义统一的Support库版本:
ext { supportLibVersion = '26.1.0' }
- 切换到app模块的
build.gradle,把所有引用Support库的地方都替换成这个统一变量:
implementation "com.android.support:appcompat-v7:$supportLibVersion" implementation "com.android.support:support-v4:$supportLibVersion" // 其他如design、recyclerview等Support库也统一用这个版本
- 点击Android Studio右上角的
Sync Now按钮同步Gradle,所有Support库就会使用同一个版本,Manifest冲突自然就消失了。
补充一句:如果是通过Firebase Assistant自动添加的依赖,大概率是Firebase的某些依赖间接引入了更高版本的Support库,所以统一版本是最稳妥的做法,能避免后续其他依赖冲突。
内容的提问来源于stack exchange,提问作者liveHarshit
相关产品推荐
相关产品推荐

