Unity构建AR安卓应用遇Manifest merger failed错误,求解决方法
Unity构建AR安卓应用Manifest合并失败的解决方法
Manifest merger failed错误本质是多个AndroidManifest.xml文件(Unity自身、AR插件、第三方依赖)之间存在配置冲突,以下是针对性解决步骤:
1. 定位具体冲突点
先查看Unity构建日志的完整错误信息,日志会明确指出冲突的具体内容,比如重复的权限、属性、组件声明(例如Attribute application@allowBackup value=(false) from ...),这是解决问题的核心依据。
2. 统一SDK版本配置
- 打开Unity的
Player Settings > Android > Other Settings,确认Minimum API Level和Target API Level设置符合AR插件(如AR Core、AR Foundation)的要求,比如AR Core通常要求最低API 24; - 确保所有第三方插件的manifest文件中,minSdkVersion、targetSdkVersion与Unity项目设置一致,不一致则调整Unity的设置或替换兼容版本的插件。
3. 解决属性重复冲突
如果是application标签下的属性(如allowBackup、icon、theme)重复,在自定义主manifest(Assets/Plugins/Android/AndroidManifest.xml)中添加tools:replace强制覆盖:
首先在根标签添加tools命名空间:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.your.package.name">
然后在application标签中指定要替换的属性:
<application android:allowBackup="false" tools:replace="android:allowBackup" ...>
4. 移除重复组件声明
如果是重复的Activity、Service或Receiver,在自定义主manifest中用tools:node="remove"移除冲突项:
<activity android:name="com.example.ConflictingActivity" tools:node="remove" />
5. 清理与更新插件
- 检查AR插件版本兼容性,比如AR Foundation和AR Core的版本需与当前Unity版本匹配,卸载旧插件后重新导入官方推荐的兼容版本;
- 删除Unity项目的
Library文件夹,重启Unity重新生成项目文件,清除缓存导致的配置混乱。
6. 通过Gradle强制统一依赖
勾选Unity的Player Settings > Android > Publishing Settings > Custom Gradle Template,在生成的baseProjectTemplate.gradle中添加依赖版本强制规则:
configurations.all { resolutionStrategy { // 示例:强制统一appcompat依赖版本 force 'com.android.support:appcompat-v7:28.0.0' } }
内容的提问来源于stack exchange,提问作者Sathiskumar S
相关产品推荐
相关产品推荐

