执行flutter doctor --android-licenses仅识别6/7许可卡住是什么原因
flutter doctor --android-licenses卡在6/7许可无响应的原因及修复方案 触发原因
- 第7份待核验许可为Google Play Developer 服务许可,需要请求Google服务器拉取完整许可文本并校验状态,网络无法连通Google服务时会直接卡住。
- 本地安装的
Android SDK Command-line Tools版本存在已知bug,处理多许可批量确认时出现死锁。 - PowerShell默认编码和sdkmanager输出的UTF-8编码不兼容,最终的许可确认提示符未正常渲染,看起来是卡住实则在等待用户输入
y确认。 - 当前Windows账户对Android SDK存储目录没有写入权限,sdkmanager写入许可生效文件时被系统权限拦截。
修复步骤
- 配置可正常连通Google服务的网络,同时在PowerShell中配置终端代理后重试命令。
- 打开Android Studio SDK管理器,卸载现有
Android SDK Command-line Tools (latest),重新安装最新稳定版后重启终端。 - 执行命令前先在PowerShell中运行编码修正指令:
$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
再重新运行flutter doctor --android-licenses即可看到隐藏的确认提示。
- 给Android SDK目录的当前用户权限增加完全控制权限,或将SDK目录迁移到非系统盘的普通目录后重试。
内容的提问来源于stack exchange,提问作者Steve Kush
相关产品推荐
相关产品推荐

