Manifest合并失败多错误求助:Gradle插件7.1.0、Gradle7.6.4环境
解决「Manifest merger failed with multiple errors-[In temporary file]」问题的方案
查看详细合并错误日志
- 执行命令:
./gradlew assembleDebug --info(Windows系统用gradlew.bat assembleDebug --info),在输出内容里搜索「Merging AndroidManifest」相关条目,就能找到具体的冲突细节——临时文件里的错误其实会在日志里展开,比如权限重复、组件属性冲突、SDK版本不兼容等 - 也可以直接在Android Studio的「Build」面板里,定位到「Manifest Merger」的详细报错信息,里面会明确指出冲突点
- 执行命令:
排查依赖库的Manifest冲突
- 用
./gradlew app:dependencies(把app换成你的模块名称)生成依赖树,找出可能引入冲突Manifest配置的第三方库 - 针对冲突的依赖库,用exclude规则去掉不需要的配置,示例:
implementation('com.example:some-library:1.0.0') { exclude group: 'com.android.support', module: 'support-v4' // 具体排除项要根据实际冲突调整 }
- 用
显式指定Manifest合并规则
- 在主Manifest的冲突节点上添加
tools:replace或tools:remove属性,比如处理权限冲突:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:replace="android:maxSdkVersion" /> - 注意要在Manifest的根节点先添加命名空间:
xmlns:tools="http://schemas.android.com/tools"
- 在主Manifest的冲突节点上添加
检查Gradle配置一致性
- 确保模块
build.gradle里的compileSdkVersion、targetSdkVersion和依赖库要求的版本匹配,避免跨版本导致的冲突 - 验证Gradle插件(7.1.0)和Gradle版本(7.6.4)的兼容性:虽然7.1.0插件兼容7.4+的Gradle,但可以尝试把插件版本升级到7.4.0+(对应Gradle 7.5+),减少版本适配问题
- 确保模块
清理临时文件与缓存(进阶操作)
- 删除项目根目录的
.gradle文件夹、模块的build文件夹,以及全局缓存目录~/.gradle/caches - 执行
./gradlew clean build --no-build-cache强制不使用缓存构建
- 删除项目根目录的
内容的提问来源于stack exchange,提问作者Kirubha Shankar
相关产品推荐
相关产品推荐

