Android Gradle插件需Java11运行,修改为11及以上版本仍无效打包报错
解决方案
1. 修正系统环境变量的JAVA_HOME配置
你在Android Studio中配置的Gradle JDK仅作用于IDE内的构建操作,终端执行./gradlew命令时默认读取系统全局的JAVA_HOME环境变量,这就是两边版本不一致的核心原因。
- Mac/Linux用户:检查
~/.zshrc、~/.bash_profile、~/.bashrc等终端配置文件,删除写死指向JDK8的JAVA_HOME配置,替换为JDK11或更高版本的本地安装路径,修改完成后执行source 对应配置文件路径生效,之后重新执行./gradlew --version确认JVM版本已切换为11+。 - Windows用户:在系统环境变量设置中修改
JAVA_HOME的取值为JDK11+的安装路径,重启终端后验证版本。
2. 项目级别强制指定Gradle JDK
如果不想修改全局环境变量,可以在项目根目录的gradle.properties文件中添加以下配置,强制当前项目的Gradle使用指定版本的JDK,优先级高于系统环境变量:
org.gradle.java.home=你的JDK11/17版本的本地绝对路径
注意:路径中不要包含特殊字符和空格,Windows系统下路径分隔符请使用正斜杠/或者双反斜杠\\。
3. 清理缓存后重试
完成上述配置后依次执行以下操作:
- 终端执行
./gradlew clean清理项目构建缓存 - 打开Android Studio选择
File > Invalidate Caches / Restart清理IDE缓存并重启 - 重启完成后重新尝试生成签名App Bundle
额外注意:如果你使用的是苹果M系列芯片的Mac,需要安装ARM架构的JDK11/17,使用x86转译的JDK也会触发类型不匹配的报错。
内容的提问来源于stack exchange,提问作者DonMB
相关产品推荐
相关产品推荐

