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

macOS下Flutter优先识别Android Studio Java而非JAVA_HOME的问题咨询

Flutter与Java版本冲突问题解答

一、Flutter优先识别Android Studio内置Java的原因

  • Flutter的Android构建依赖Gradle,Android Studio为保证构建环境一致性,默认让Gradle优先使用其内置JDK(Bundled JDK)
  • Flutter CLI检测Java环境时,会优先读取Android Studio配置的JDK路径——官方默认推荐用Android Studio配套JDK,避免版本不兼容,新版本Android Studio会搭配适配其Gradle插件的JDK版本(比如2024.2版配Java 21)

二、让Flutter始终使用JAVA_HOME配置的Java版本的方法

方法1:修改项目gradle.properties

在Flutter项目的android/gradle.properties中添加配置:

org.gradle.java.home=$JAVA_HOME

Gradle构建时会直接使用系统JAVA_HOME指向的版本,覆盖Android Studio内置JDK。

方法2:全局配置Gradle环境变量

在系统环境变量中新增GRADLE_OPTS,值设为:

-Dorg.gradle.java.home=$JAVA_HOME

该配置会让所有Gradle项目(包括Flutter的Android模块)默认使用JAVA_HOME的Java版本,无需逐个项目修改。

方法3:调整Android Studio的JDK设置

打开Android Studio,进入File > Project Structure > SDK Location,在JDK location选项中选择Use JAVA_HOME,Android Studio本身会使用系统JAVA_HOME的版本,Flutter构建时同步沿用该版本。

注意:确保JAVA_HOME指向的Java版本(比如17)与当前Gradle版本兼容,Flutter 3.27.3对应的Gradle版本(7.6.x)和Java 17完全适配,不会出现构建问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:12:32