运行flutter build appbundle打包时Gradle提示需用JDK而非JRE报错如何解决
报错核心原因:Gradle调用的Java环境为JRE(仅运行环境),缺少Kotlin编译所需的JDK开发工具,当前默认调用的是Mac系统内置的浏览器Java插件JRE,而非完整JDK。
解决方案
步骤1:检查本地JDK安装情况
终端执行以下命令,列出所有已安装的JDK版本:/usr/libexec/java_home -V
如果命令无输出,说明未安装JDK,先安装Flutter兼容的JDK11或JDK17版本即可。
步骤2:配置全局JAVA_HOME环境变量
复制上一步输出中你要使用的JDK路径,示例路径格式为/Library/Java/JavaVirtualMachines/jdk-17.0.8.jdk/Contents/Home
根据你使用的终端shell类型,编辑对应的配置文件:
- 使用zsh的用户编辑
~/.zshrc文件 - 使用bash的用户编辑
~/.bash_profile或~/.bashrc文件
在配置文件末尾添加以下两行内容:
export JAVA_HOME=替换为你自己的JDK路径 export PATH=$JAVA_HOME/bin:$PATH
保存退出后,执行对应命令让配置生效:
- zsh用户执行:
source ~/.zshrc - bash用户执行:
source ~/.bash_profile
步骤3:验证配置有效性
终端分别执行java -version和javac -version,两个命令都能正常输出版本号即表示JDK配置成功。
步骤4:项目级配置(可选,全局配置无效时使用)
打开Flutter项目的android目录,编辑local.properties文件(不存在就新建),添加以下内容:org.gradle.java.home=替换为你自己的JDK路径
步骤5:重新构建
先执行flutter clean清理项目缓存,再重新执行flutter build appbundle即可正常构建。
内容的提问来源于stack exchange,提问作者ibiren
相关产品推荐
相关产品推荐

