flutter 构建时报错“java.exe not found”,通常因 jdk 路径配置错误或 android studio 内置 jre 不兼容导致;本文提供从环境变量、flutter 配置到 gradle 设置的系统性解决步骤。
flutter 构建时报错“java.exe not found”,通常因 jdk 路径配置错误或 android studio 内置 jre 不兼容导致;本文提供从环境变量、flutter 配置到 gradle 设置的系统性解决步骤。
当运行 flutter build apk 或启动 Android 模拟器时出现如下错误:
FAILURE: Build failed with an exception. What went wrong: The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:Program FilesAndroidAndroid Studiojreinjava.exe
这表明 Flutter/Gradle 无法定位有效的 Java 运行环境 —— 关键原因并非未安装 JDK,而是路径指向了 Android Studio 自带的已弃用 JRE(自 Android Studio Giraffe+ 起默认移除内置 JRE)或 JAVA_HOME 配置与实际 Gradle 使用路径不一致。
✅ 正确解决方案(分步验证):
确认已安装独立 JDK(推荐 JDK 17)
Android 官方要求 JDK 17(Flutter 3.10+ 强制),请从 Adoptium Eclipse Temurin 下载并安装 JDK 17 (LTS)。安装后记下路径,例如:
C:Program FilesEclipse Adoptiumjdk-17.0.1+12-
正确设置系统环境变量
立即学习“Java免费学习笔记(深入)”;
- 新建系统变量 JAVA_HOME,值为 JDK 根目录(⚠️ 不含 in):
JAVA_HOME = C:Program FilesEclipse Adoptiumjdk-17.0.1+12
- 将 %JAVA_HOME%in 添加至 Path 变量开头,确保命令行中 java -version 输出 JDK 17。
- 新建系统变量 JAVA_HOME,值为 JDK 根目录(⚠️ 不含 in):
-
强制 Flutter 使用指定 JDK(关键!)
Flutter 默认可能仍尝试读取 Android Studio 的旧 JRE。需显式配置 Gradle 的 JVM 路径:
在项目根目录下创建或编辑文件:
android/gradle.properties
添加以下行(替换为你真实的 JDK 路径):org.gradle.java.home=C:\Program Files\Eclipse Adoptium\jdk-17.0.1+12
✅ 注意:Windows 路径中反斜杠需双写(\),且不能包含空格引号;若路径含空格(如 Program Files),Gradle 仍可正常识别,无需额外处理。
-
清理缓存并重试
flutter clean flutter pub get cd android && ./gradlew clean && cd .. flutter build apk
? 验证是否生效:
执行 flutter doctor -v,检查输出中 Java binary at: 是否指向你配置的 JDK 路径;同时在 Android Studio 中:
File → Project Structure → SDK Location → JDK location 也应设为同一 JDK 路径。
⚠️ 常见误区提醒:
- ❌ 不要依赖 Android Studio 自带 JRE(新版已移除,且 Gradle 8.0+ 不兼容旧 JRE);
- ❌ 不要在 JAVA_HOME 中加引号或 in;
- ❌ 修改 gradle.properties 后未清理 Gradle 缓存将导致配置不生效;
- ✅ 推荐统一使用 JDK 17(非 JDK 21),因部分 Android Gradle Plugin 尚未完全适配更新版本。
通过以上配置,99% 的 java.exe not found 构建错误可被彻底解决。核心逻辑是:让 Gradle、Flutter CLI 和 Android Studio 三方共用同一个、合规的 JDK 17 实例,并通过 gradle.properties 显式锁定路径。


















