Unity 2020.1.15f1构建Android项目时Gradle编译报错求助
解决Unity 2020.1.15f1构建Android API 34时Gradle编译失败问题
核心原因
Unity 2020.1.x版本默认依赖的Gradle、Java版本与API Level 34兼容性不足,Java 8无法处理API 34引入的MODULE属性相关编译逻辑。
可行解决方案
1. 升级Java版本至11
Unity 2020.1.x支持Java 11,操作步骤:
- 安装Adoptium Temurin 11(OpenJDK 11)
- 打开Unity编辑器,进入
Edit > Preferences > External Tools - 在
Android > JDK选项中,选择刚安装的Java 11路径
2. 手动指定适配API 34的Gradle版本
Unity 2020.1默认Gradle版本过低,需手动调整:
- 打开
Player Settings > Publishing Settings > Build,勾选Custom Main Gradle Template,在Assets/Plugins/Android目录生成mainTemplate.gradle文件 - 修改文件内的Gradle插件和分发版本:
buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.2.2' } } task wrapper(type: Wrapper) { gradleVersion = '6.7.1' }
3. 调整Android编译配置
- 进入
Player Settings > Player > Android > Publishing Settings,确认Minify设置为ProGuard - 在
Other Settings > Configuration中,将Scripting Backend切换为IL2CPP(IL2CPP对高API版本兼容性优于Mono)
4. 清理缓存后重新构建
- 关闭Unity,删除项目根目录下的
Temp和Library文件夹 - 删除macOS路径
/Users/[你的用户名]/.gradle/caches下的缓存文件 - 重启Unity并重新执行构建
内容的提问来源于stack exchange,提问作者JJNCreator
相关产品推荐
相关产品推荐

