运行flutter doctor报错,执行android-licenses出现Java类未找到异常如何解决
问题解决步骤
你遇到的两个报错存在关联,核心原因是Flutter未识别到正确的Android Studio路径,无法使用其内置的兼容Java环境,调用高版本Java执行证书校验时触发了依赖缺失问题,按以下步骤操作即可解决:
1. 修正Android Studio路径配置
- 首先确认你本地Android Studio的实际安装路径,默认安装路径为
C:\Program Files\Android\Android Studio,如果是自定义安装请替换成自己的路径 - 打开命令行执行以下命令,配置Flutter的Android Studio指向路径:
flutter config --android-studio-dir "C:\Program Files\Android\Android Studio"
- 配置完成后执行
flutter doctor,可以看到Android Studio的「Unable to find bundled Java version」报错已经消失,Flutter会自动使用Android Studio内置的Java 8兼容环境。
2. 重新执行证书同意命令
之前的java.lang.NoClassDefFoundError报错是因为Java 9及以上版本移除了sdkmanager依赖的javax.xml.bind相关组件,现在使用Android Studio内置的兼容Java环境即可避免该问题:
- 执行命令
flutter doctor --android-licenses - 后续提示是否同意证书时,全部输入
y确认即可
3. 验证修复结果
全部操作完成后重新执行flutter doctor,此前的两个异常项都会变为正常状态。
备用方案:如果执行后仍有异常,可手动安装JDK 8,配置
JAVA_HOME环境变量指向JDK 8安装路径,并在系统Path变量中将JDK 8的bin路径优先级调到最高,再重新执行上述步骤即可。
内容的提问来源于stack exchange,提问作者Jyoti Yadav
相关产品推荐
相关产品推荐

