Flutter检测提示Java版本过低但已配置高版本JDK问题咨询
问题描述
已正确配置JAVA_HOME环境变量,系统安装Java 19版本,但执行flutter doctor时发现Android工具链使用的是Android Studio内置的OpenJDK 11;运行flutter doctor --android-licenses时提示需要Java 17或更高版本,怀疑是Flutter SDK版本过旧,附上相关命令执行结果及配置截图寻求解决方案。
命令执行结果
1. flutter doctor输出
[√] Flutter (Channel stable, 3.24.3, on Microsoft Windows [Version 10.0.19045.4894], locale tr-TR) • Flutter version 3.24.3 on channel stable at C:\src\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 2663184aa7 (4 weeks ago), 2024-09-11 16:27:48 -0500 • Engine revision 36335019a8 • Dart version 3.5.3 • DevTools version 2.37.3 [√] Windows Version (Installed version of Windows is version 10 or higher) [!] Android toolchain - develop for Android devices (Android SDK version 35.0.0) • Android SDK at C:\Users\ASUS\AppData\Local\Android\sdk • Platform android-35, build-tools 35.0.0 • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) X Android license status unknown. Run `flutter doctor --android-licenses` to accept the SDK licenses. See https://flutter.dev/to/windows-android-setup for more details. [√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe [√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.4.3) • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community • Visual Studio Community 2022 version 17.4.33205.214 • Windows 10 SDK version 10.0.22000.0 [√] Android Studio (version 2021.3) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) [√] VS Code (version 1.94.0) • VS Code at C:\Users\ASUS\AppData\Local\Programs\Microsoft VS Code • Flutter extension version 3.97.20240902 [√] Connected device (3 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19045.4894] • Chrome (web) • chrome • web-javascript • Google Chrome 129.0.6668.90 • Edge (web) • edge • web-javascript • Microsoft Edge 129.0.2792.79 [√] Network resources • All expected network resources are available. ! Doctor found issues in 1 category.
2. flutter doctor --android-licenses执行结果
C:\Users\ASUS>flutter doctor --android-licenses Java version 17 or higher is required. To override this check set SKIP_JDK_VERSION_CHECK
3. java -version执行结果
C:\Users\ASUS>java -version java version "19" 2022-09-20 Java(TM) SE Runtime Environment (build 19+36-2238) Java HotSpot(TM) 64-Bit Server VM (build 19+36-2238, mixed mode, sharing)
4. where java执行结果
C:\Users\ASUS>where java C:\Program Files\Java\jdk-19\bin\java.exe
5. 相关配置截图
- Android Studio SDK设置截图
- 环境变量配置截图
解决方案
1. 指定Flutter使用系统Java 19
Flutter默认优先调用Android Studio内置JDK,可通过环境变量强制指定系统Java:
- 打开系统环境变量,新增
ANDROID_STUDIO_JDK变量,值设为Java 19的安装路径(如C:\Program Files\Java\jdk-19) - 重启命令行窗口,重新执行
flutter doctor和flutter doctor --android-licenses
2. 更新Android Studio至新版本
当前Android Studio 2021.3内置JDK 11,升级到Hedgehog(2023.1.1)及以上版本后,内置JDK会更新到17,满足许可证验证的版本要求:
- 打开Android Studio,通过
帮助 > 检查更新完成版本升级 - 重启软件后重新执行相关命令验证
3. 临时跳过JDK版本检查(不推荐长期使用)
若需快速完成许可证验证,可执行以下命令临时绕过版本检查:
set SKIP_JDK_VERSION_CHECK=true && flutter doctor --android-licenses
此方案仅为临时应急,长期使用可能引发其他兼容性问题。
4. 升级Flutter SDK至最新稳定版
Flutter 3.24.3本身支持Java 17+,但结合Android SDK 35.0.0,升级到最新稳定版可避免潜在的版本兼容问题:
flutter upgrade
内容的提问来源于stack exchange,提问作者LOODAN
相关产品推荐
相关产品推荐

