Mac端Android Studio中Flutter项目JAVA_HOME配置异常求助
初始错误触发场景
更新Java时误重置项目JAVA_HOME路径,导致应用构建时报错:
ERROR: JAVA_HOME is set to an invalid directory: Users/{My UserName}/Library/Java/JavaVirtualMachines/openjdk-23.0.1
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
本地Java环境排查
执行终端命令查找已安装Java版本及路径:
/usr/libexec/java_home -V
返回结果:
Matching Java Virtual Machines (1): 1.7.45.18 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
环境变量配置尝试
编辑.zshrc文件添加以下配置:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7.45.18) export PATH=$JAVA_HOME/bin:$PATH
执行echo $JAVA_HOME确认路径已生效:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
但重新构建应用时仍弹出相同的JAVA_HOME无效错误。
临时环境变量设置失败
在项目目录终端执行临时设置命令:
export JAVA_HOME=“/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home”
得到错误提示:
export: not valid in this context: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Android Studio端排查补充
通过File > Project Structure...下载新JDK,并更新.zshrc中的JAVA_HOME为新JDK路径,但执行flutter run仍报错:
ERROR: JAVA_HOME is set to an invalid directory: Users/{MyName}/Library/Java/JavaVirtualMachines/openjdk-23.0.1
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
执行flutter doctor -v检测到:
Java binary at: Users/{MyName}/Library/Java/JavaVirtualMachines/openjdk-23.0.1/bin/java ✗ Cannot execute Users/{MyName}/Library/Java/JavaVirtualMachines/openjdk-23.0.1/bin/java to determine the version
执行flutter analyze --suggestions返回:
[✗] Java/Gradle/Android Gradle Plugin: Incompatible Java/Gradle versions. Java Version: null, Gradle Version: 7.6.3
当前echo $JAVA_HOME输出路径与Android Studio项目结构中配置的路径一致,但Java版本显示为null,问题仍未解决。
内容的提问来源于stack exchange,提问作者greenzebra

