Windows运行flutter doctor --android-licenses无输出返回shell如何解决
问题场景
- Windows系统下执行
flutter doctor --android-licenses无任何输出,等待约2秒后直接返回shell,以管理员身份运行命令问题仍存在 - 已安装Android SDK Command-line Tools,Android Studio可正常启动、可正常打包应用,JDK与SDK基础配置无异常
- 执行
flutter doctor -v初始检测提示Android SDK版本为32.1.0-rc1,Android license status unknown,提示需运行flutter doctor --android-licenses接受SDK许可证;追加-v/-vv参数运行该命令仍无任何输出 - 更换Android SDK与Android Studio安装路径、将SDK版本更新至33.0.0后问题依旧,无需处理Visual Studio相关检测项
解决步骤
- 清理预览版cmdline-tools,校验路径配置
- 打开Android Studio SDK Manager,找到SDK Tools标签页,卸载标注为rc/预览版的Android SDK Command-line Tools,安装最新稳定版的Command-line Tools
- 确认系统环境变量中
ANDROID_HOME/ANDROID_SDK_ROOT的值为当前使用的SDK根目录绝对路径,无旧版本SDK路径残留 - 检查SDK目录结构,确认
cmdline-tools/latest/bin/sdkmanager.bat文件存在,若存在cmdline-tools/32.1.0-rc1这类预览版目录直接手动删除
- 绕开Flutter封装,手动调用sdkmanager接受许可证
- 打开命令提示符,执行
cd /d %ANDROID_HOME%\cmdline-tools\latest\bin进入命令行工具bin目录 - 执行
set JAVA_HOME=<你的Android Studio自带jbr目录绝对路径>临时指定当前窗口的Java环境,默认jbr路径为C:\Program Files\Android\Android Studio\jbr,避免多JDK版本冲突 - 执行
sdkmanager --licenses,命令执行后会逐份弹出待确认的许可证,每一项提示后输入y回车确认即可
- 校验修复结果
- 所有许可证接受完成后,执行
flutter config --android-sdk %ANDROID_HOME%强制指定Flutter读取的SDK路径 - 执行
flutter doctor -v,检测Android license项状态,显示全部许可证已接受即为修复完成
内容的提问来源于stack exchange,提问作者wcyiming
相关产品推荐
相关产品推荐

