UE4.27 Oculus定制版打包Quest2安卓APK报ExitCode=1构建失败
UE4.27 Oculus适配版打包Quest 2安卓包报ExitCode=1故障排查
问题背景
开发需求为基于Unreal Engine结合Meta好友系统,为Oculus Quest 2开发支持多人联机、开放可定制的类Google Hub形态APK应用。经调研选用Oculus官方开源Shared Spaces项目,按照官方指引完成Oculus专属适配Unreal Engine 4.27 Git发行版、Shared Spaces项目代码的部署,前期Visual Studio加载项目、重建光照流程均运行正常,执行Android平台(ASTC纹理格式)打包时固定报错,核心报错信息如下:
AutomationTool exiting with ExitCode=1 (Error_Unknown) | BUILD FAILED
从报错日志判断,故障疑似由特定文件符号读取异常导致。
环境配置
- 操作系统:Windows 10
- 开发工具:Visual Studio 2022
- 引擎版本:Unreal Engine 4.27(Oculus适配Git发行版)
已尝试无效操作
- 多次重新克隆引擎、项目代码仓库并重新部署
- 多次执行项目全量重建
- 调整属性配置、修改代码手动修复疑似异常文件
- 执行
DotNet\UnrealBuildTool.exe相关修复操作 - 通过Visual Studio手动重建UnrealLightmass、AutomationTools等独立引擎组件
- 多次重装Android Studio、Visual Studio并校验开发配置
排查解决步骤
按以下优先级逐一验证:
- 对齐Android SDK版本要求
Oculus定制版UE4.27对安卓开发组件有严格版本要求,使用Android Studio默认安装的最新版SDK会出现兼容问题:- 进入引擎安装目录下
Engine/Extras/Android路径,运行SetupAndroid.bat脚本,自动安装版本完全匹配的SDK、NDK、JDK组件 - 打开UE编辑器项目设置的Android SDK配置页,确认SDK、NDK、JDK三个路径全部指向脚本安装的对应目录,其中NDK版本必须为r21e,JDK版本必须为1.8
- 进入引擎安装目录下
- 解除Windows长路径限制
引擎和项目仓库文件层级深,Windows默认260字符路径限制会导致打包阶段文件符号读取失败:- 按Win+R输入
gpedit.msc打开本地组策略编辑器,依次进入「计算机配置>管理模板>系统>文件系统>启用Win32长路径」,设置为已启用后重启系统 - 执行Git命令
git config --global core.longpaths true开启长路径支持,之后将两个仓库重新克隆到磁盘根目录下的短名称文件夹(例如D:\UE427\、D:\SharedSpaces\),不要放到多层嵌套、包含中文或特殊字符的目录下
- 按Win+R输入
- 修复Visual Studio 2022编译兼容问题
Oculus适配版UE4.27默认适配VS2019编译工具链,直接用VS2022默认的v143工具集会出现编译异常:- 打开Visual Studio Installer,额外安装「MSVC v142 - VS 2019 C++ x64/x86生成工具」组件
- 右键项目的.uproject文件,选择Generate Visual Studio project files重新生成项目文件
- 打开VS后将解决方案平台的编译工具集版本切换为v142,执行全量编译后再重试打包
- 全量清理缓存文件
关闭UE编辑器和Visual Studio后,删除以下目录内容再重试打包:- 项目目录下的
Binaries、Intermediate、Saved、Build文件夹 - 引擎目录下的
Engine/Intermediate、Engine/Binaries/Android文件夹
- 项目目录下的
- 校验ASTC纹理配置
打开项目设置的Android配置页,确认已勾选「支持ASTC纹理格式」,将纹理压缩对应的最低Android版本设为8.0(匹配Quest 2系统版本要求),取消勾选ETC2、DXT等非必要纹理格式,减少打包阶段的兼容冲突。
内容的提问来源于stack exchange,提问作者Davide Valbusa
相关产品推荐
相关产品推荐

