Unity 2021/2022 LTS开启Split Application Binary无法构建Android AAB
解决方案:AAB Split Application Binary构建时资产文件冲突问题
从报错信息可明确核心问题:开启Split Application Binary后,base模块与UnityDataAssetPack模块同时包含assets/UnityServicesProjectConfiguration.json文件,导致打包冲突。以下是具体解决办法:
1. 移除项目中重复的配置文件
- 全局搜索Unity项目内的
UnityServicesProjectConfiguration.json文件,检查是否存在多份实例(比如一份在主Assets目录,另一份来自Firebase或Unity Services插件目录)。 - 删除多余文件,仅保留一份正确的配置文件。
2. 通过Gradle配置处理重复资产
若无法删除重复文件(比如文件来自第三方插件),可修改Gradle打包规则:
- 打开Unity编辑器,进入
Project Settings > Player > Publishing Settings > Build,勾选Custom Gradle Template启用自定义模板。 - 找到生成的
launcher/build.gradle文件,在android代码块中添加打包规则:
注:android { packagingOptions { pickFirst 'assets/UnityServicesProjectConfiguration.json' // 若明确要排除某一份,也可使用: // exclude 'assets/UnityServicesProjectConfiguration.json' } }pickFirst会优先保留第一个找到的文件,exclude会直接排除该文件,根据实际需求选择,确保保留的是正确的配置。
3. 重新同步Unity Services配置
该文件是Unity Services的项目配置文件,可能是Split模式下Unity自动打包时重复引入:
- 打开Unity编辑器的
Window > Unity Services,登录账号后重新同步项目配置,让Unity重新生成唯一的配置文件。
4. 检查Asset Pack打包范围
若手动配置了Asset Pack规则:
- 检查是否将包含
UnityServicesProjectConfiguration.json的目录同时添加到base模块和UnityDataAssetPack的打包列表中,调整规则让该文件仅归属其中一个模块。
内容的提问来源于stack exchange,提问作者user9544286
相关产品推荐
相关产品推荐

