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

Unity打包Android时Gradle构建失败求助

解决Unity打包Android时Gradle构建AssertionError(无法识别MODULE属性)的方案

核心原因

这个错误是因为JDK 8早期版本不支持Java 9+引入的MODULE属性,你的项目中可能存在依赖库(第三方SDK、Unity自带模块等)编译时使用了更高版本JDK,生成的字节码包含MODULE属性,导致JDK 8u152的编译器无法识别,触发AssertionError并终止compileReleaseJavaWithJavac任务。

具体解决步骤

1. 升级JDK到兼容的8系列版本

Unity 2019.3.x官方推荐使用JDK 1.8u202及以上版本(含AdoptOpenJDK 8u202+),这些版本修复了对MODULE属性的兼容问题:

  • 卸载当前的jdk1.8.0_152,下载并安装AdoptOpenJDK 8u202或更高的8系列版本
  • 在Unity编辑器中打开Edit > Preferences > External Tools,将JDK路径指向新安装的JDK目录

2. 调整Gradle构建配置(升级JDK后仍有问题时使用)

在Unity的Player Settings > Publishing Settings > Build中勾选Custom Gradle Template,找到生成的launcher/build.gradle文件,添加以下配置让编译器忽略无法识别的属性:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // 新增配置:忽略无法识别的属性符号
        javaCompilerOptions {
            option "-XDignore.symbol.file"
        }
    }
}

3. 排查第三方依赖库

如果项目使用了第三方SDK,确认其编译版本是否过高:

  • 替换为明确兼容JDK 8的SDK版本
  • 若SDK是aar包,可解压后用javap -v命令检查字节码,确认是否包含MODULE属性,如有则联系SDK提供者获取兼容版本

4. 降级Gradle版本(备选方案)

若以上方法无效,可尝试将Gradle版本降级到Unity 2019.3.x适配更稳定的gradle-5.4.1:

  • 在Unity的External Tools中切换Gradle版本,或手动替换项目中的Gradle包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:37:31