为何flutter doctor仍识别Java21?如何改为检测Java17?
问题原因
flutter doctor检测的是Android Studio自带的JetBrains Runtime(JBR),而非你系统环境变量中配置的Java 17。从你的输出可以看到,它指向的路径是C:\Program Files\Android\Android Studio\jbr\bin\java,这个是Android Studio内置的Java 21,和你单独安装的系统Java无关。
解决方法
方法一:修改Android Studio的JDK配置
- 打开Android Studio,依次点击
File->Project Structure->SDK Location - 在
JDK Location处,选择你安装的Java 17路径(比如C:\Program Files\Java\jdk-17.0.12),点击应用保存 - 重启Android Studio后,再运行
flutter doctor检查
方法二:直接指定flutter使用的JDK路径
在终端中执行以下命令(替换为你的Java 17实际安装路径):
flutter config --android-jdk="C:\Program Files\Java\jdk-17.0.12"
执行完成后,关闭当前终端,重新打开一个新终端,运行flutter doctor即可看到变化。
方法三:配置Gradle全局使用Java 17
如果后续创建新项目也需要统一使用Java 17,可进行以下设置:
- 打开Android Studio,依次点击
File->Settings->Build, Execution, Deployment->Build Tools->Gradle - 在
Gradle JDK下拉菜单中选择你安装的Java 17,点击应用保存
内容的提问来源于stack exchange,提问作者Lakshan Rukantha
相关产品推荐
相关产品推荐

