You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity打包Android报CommandInvokationFailure: Gradle build failed

问题说明

使用Unity 2018.4.23f1构建Android平台Release安装包时,触发CommandInvokationFailure: Gradle build failed报错,核心报错日志如下:

CommandInvokationFailure: Gradle build failed. 
C:\Program Files\Unity\Hub\Editor\2018.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2018.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-5.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

stderr[
An exception has occurred in the compiler (1.8.0-adoptopenjdk). Please file a bug against the Java compiler via the Java bug reporting page after checking the Bug Database for duplicates. Include your program and the following diagnostic in your report. Thank you.


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

BUILD FAILED in 7s
]
stdout[

> Configure project :
解决方案

按以下优先级依次排查验证,每操作完一步重新执行打包流程:

  • 替换Unity内置JDK
    该报错的核心诱因是Unity 2018.4版本自带的1.8.0-adoptopenjdk存在已知的编译器崩溃bug。打开Player Settings中Android平台的配置页,找到JDK设置项,勾选Override JDK path,将路径指向本地安装的官方64位JDK8稳定版本(推荐1.8.0_202及以上的JDK8小版本,禁止使用JDK9及以上版本,Unity 2018原生不兼容高版本JDK),重启Unity后再尝试打包。
  • 临时关闭Release包代码压缩混淆
    Release构建默认开启的R8/ProGuard混淆在处理部分第三方SDK时,会触发旧版javac的无提示崩溃。进入Publishing Settings配置页,先关闭Minify分类下的R8选项,验证能正常出包后,再针对性编写混淆规则,不要直接全量开启混淆。
  • 全量清理缓存
    关闭Unity编辑器,删除工程根目录下的Library、Temp文件夹,再删除当前用户目录下.gradle/caches路径内的所有缓存文件,重新打开Unity等待资源导入完成后再打包。
  • 检查自定义Java文件编码
    如果工程内接入了自定义Java插件、或者修改过第三方SDK的Java源码,确认所有.java文件的编码格式为UTF-8无BOM,GBK编码、带BOM的UTF-8编码文件都会触发旧版javac无明确提示的编译崩溃。
  • 调整Gradle虚拟机参数
    现有配置虽然分配了4G堆内存,但没有给永久代分配独立内存,编译过程中内存溢出也会触发javac崩溃。找到Gradle配置文件,将org.gradle.jvmargs参数修改为-Xmx4096m -XX:MaxPermSize=1024m,保存后重新打包。
  • 排查依赖冲突
    工程内如果存在多版本同名Jar/AAR依赖(比如同时引入两个不同版本的support-v4、androidx.core包),类冲突时旧版javac不会输出明确的重复类报错,会直接崩溃。可以将工程导出为Gradle项目,排查并移除重复依赖后再回Unity打包。

注意:不要盲目升级Gradle版本,Unity 2018.4.23f1原生仅兼容Gradle 5.1.1,随意升级Gradle会触发更多兼容问题。

内容的提问来源于stack exchange,提问作者yjy020892

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 21:39:29