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

Mac下Flutter未使用JAVA_HOME指定JDK版本的问题求助

解决Flutter在Mac上强制使用指定JDK版本的问题

问题核心:Flutter默认会优先使用Android Studio自带的捆绑JDK(JetBrains Runtime,对应JDK17),即使系统设置了JAVA_HOME指向JDK15,也会被覆盖。以下是针对性解决步骤:

1. 修改Android Studio的全局JDK配置

Flutter依赖Android Studio的JDK设置,先让AS切换到系统安装的JDK15:

  • 打开Android Studio
  • 顶部菜单选择File → Project Structure(或快捷键Cmd+;)
  • 切换到SDK Location标签页
  • 在JDK location栏,点击路径选择器,找到JDK15的安装路径(可通过执行/usr/libexec/java_home -v 15获取准确路径,一般为/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home)
  • 点击Apply → OK保存配置,重启Android Studio

2. 为Flutter项目单独指定JDK(可选但更保险)

在项目Gradle配置里强制指定JDK路径,避免受全局配置波动影响:

  • 打开Flutter项目的android/gradle.properties文件
  • 添加以下配置(替换为你的JDK15实际路径):
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/Home
  • 保存文件后,执行flutter clean清除旧编译缓存

3. 验证配置生效

  • 重启终端,执行flutter doctor --verbose,检查输出中的Java version是否显示为JDK15版本
  • 尝试运行Flutter项目,查看Gradle兼容提示是否消失

额外说明

  • Android Studio自带的JDK(JetBrains Runtime)位于/Applications/Android Studio.app/Contents/jbr/Contents/Home,无需删除,只要修改配置让Flutter不使用它即可
  • 确保系统环境变量配置正确:在~/.zshrc或~/.bash_profile中设置:
export JAVA_HOME=$(/usr/libexec/java_home -v 15)
export PATH=$JAVA_HOME/bin:$PATH

执行source ~/.zshrc(或对应shell的配置文件)让环境变量生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:10:16