Mac环境下Gradle构建需Java 11+问题排查求助
解决Mac上Flutter构建Gradle要求Java 11+的问题
一、永久设置全局JAVA_HOME(避免终端会话失效后重置)
临时export仅对当前终端会话有效,需将配置写入shell配置文件实现永久生效:
- 打开终端,编辑对应shell的配置文件:
- bash环境:
open ~/.bash_profile - zsh环境:
open ~/.zshrc
- bash环境:
- 在文件末尾添加以下内容:
export JAVA_HOME=$(/usr/libexec/java_home -v 11) export PATH=$JAVA_HOME/bin:$PATH - 保存文件后,执行命令使配置生效:
- bash环境:
source ~/.bash_profile - zsh环境:
source ~/.zshrc
- bash环境:
- 验证:重启终端后执行
echo $JAVA_HOME确认路径指向Java 11,执行java -version确认版本切换成功
二、为Gradle单独指定JDK(强制覆盖全局配置)
如果全局设置无效,可直接在项目中为Gradle指定JDK路径:
- 打开Flutter项目的
android目录,找到或新建gradle.properties文件 - 添加以下配置(替换为你实际的Java 11安装路径,可通过
/usr/libexec/java_home -v 11获取准确路径):org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.x.x.jdk/Contents/Home
三、调整旧版Android Studio的JDK配置
旧版Android Studio的Gradle配置入口可能不同:
- 打开Android Studio,进入
File > Settings > Build, Execution, Deployment > Build Tools > Gradle - 在
Gradle JDK选项中选择已安装的Java 11 - 若找不到上述选项,可进入
File > Project Structure > SDK Location,将JDK location设置为Java 11的安装路径
四、清理Gradle缓存(解决缓存残留问题)
- 终端执行命令清理全局Gradle缓存:
rm -rf ~/.gradle/caches - 回到Flutter项目目录,执行
flutter clean,之后重新尝试构建项目
内容的提问来源于stack exchange,提问作者Britchi3
相关产品推荐
相关产品推荐

