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

Mac端Android Studio JDK版本不匹配问题及解决求助

问题:Flutter与Android Studio Java版本不一致导致构建失败

当前现象

  • 终端执行java --version输出:
openjdk version "11.0.19" 2023-04-18
OpenJDK Runtime Environment Homebrew (build 11.0.19+0)
OpenJDK 64-Bit Server VM Homebrew (build 11.0.19+0, mixed mode)
  • 执行flutter doctor --verbose时,Android Studio显示的Java版本:
[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
  • 运行Flutter项目时触发构建错误:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @52a71430

补充信息

  • 直接打开项目的android文件夹,在project settings中配置JDK版本仅在该模式下有效,从根目录运行仍报错。
  • 执行/usr/libexec/java_home -V输出:
Matching Java Virtual Machines (1):
    11.0.19 (arm64) "Homebrew" - "OpenJDK 11.0.19" /opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home
/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home
  • 已在~/.zshrc中配置:
export JAVA_HOME='/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home'

解决方案

1. 统一Android Studio的JDK配置

打开Android Studio,按以下步骤操作:

  • 进入File > Project Structure > SDK Location
  • 在JDK Location栏选择已安装的OpenJDK 11路径:/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home
  • 点击Apply和OK保存设置

2. 让Android Studio加载系统环境变量

Android Studio默认可能使用自带JDK,需确保它读取系统配置的JAVA_HOME:

  • 完全关闭Android Studio
  • 打开终端,执行命令启动Android Studio:
open -a "Android Studio"

通过终端启动的Android Studio会加载当前环境变量,确保使用指定的JDK 11

3. 验证配置有效性

  • 重启终端,执行flutter doctor --verbose,检查Android Studio显示的Java版本是否变为11.0.19
  • 从Flutter项目根目录执行flutter run,确认构建错误是否消失

4. 备选方案:通过gradle强制指定JDK版本

如果上述方法无效,可在项目的android/gradle.properties文件中添加以下配置:

org.gradle.java.home=/opt/homebrew/Cellar/openjdk@11/11.0.19/libexec/openjdk.jdk/Contents/Home

该配置会让gradle构建时直接使用指定的JDK版本,不受系统或Android Studio默认设置影响

内容的提问来源于stack exchange,提问作者Joaquín Varela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:32:23