Unity 2021.3.4f1打包APK时Gradle Build failed报错如何解决
Unity 2021.3.4f1 构建Android APK Gradle报错修复方案
报错优先级判定
三个报错层级不同,只有第三个keystore相关错误是构建失败的直接原因,前两类均为不阻断流程的警告,可按优先级依次处理:
- 废弃配置、SDK package.xml异常、Java编译警告:非阻断类提示
- debug.keystore格式无效:核心阻断错误,构建退出码1的直接诱因
修复步骤
1. 解决核心构建失败问题
- 打开资源管理器进入路径
C:\Users\Samprit Hazra\.android\,直接删除目录下的debug.keystore文件 - 回到Unity编辑器,进入
Edit > Preferences > External Tools配置页,优先勾选JDK、SDK、NDK的Embedded选项,使用Unity 2021.3.4f1内置的适配版本(内置JDK为11版本,当前手动配置的JDK 18版本过高,是触发keystore格式识别错误的主要原因) - 重新触发Release包构建,Unity会自动生成符合格式规范的新debug签名文件,KeytoolException报错会直接消除
2. 处理SDK只读异常警告
- 定位到Unity内置Android SDK的根目录,右键文件夹打开属性面板,取消「只读」属性勾选,选择将修改应用到所有子文件、子文件夹后确认
- 通过Unity外部工具配置页的SDK Manager入口,重新校验安装当前版本匹配的build-tools、platform-tools、platforms、tools组件,自动修复损坏的package.xml文件
3. 处理其余非阻断警告
android.enableR8=false废弃提示:属于版本兼容预告,当前Android Gradle Plugin版本下不影响构建,在后续升级到AGP 5.0前移除该配置即可,无需额外调整- Java编译阶段的废弃API、未检查操作提示:为Unity自带Android源码的常规提示,不影响打包结果,如需查看详细信息可在Gradle编译配置中添加
-Xlint:deprecation -Xlint:unchecked参数,无需修改Unity内置Java源码
内容的提问来源于stack exchange,提问作者Samprit
相关产品推荐
相关产品推荐

