flutter doctor提示cmdline-tools component is missing如何解决
Flutter 运行
flutter doctor提示「cmdline-tools component is missing」修复方案 按以下顺序排查操作即可解决绝大多数同类问题:
- 校验cmdline-tools目录结构
打开Android Studio SDK配置页显示的SDK根目录(即Android SDK Location对应的路径),检查cmdline-tools目录层级是否符合标准:
手动解压安装cmdline-tools时很容易遗漏SDK根目录/ ├─ build-tools/ ├─ cmdline-tools/ │ └─ latest/ │ ├─ bin/ │ ├─ lib/ │ └─ 其余cmdline-tools相关文件 ├─ platforms/ └─ platform-tools/latest这一层目录,直接把bin、lib等文件放在cmdline-tools根目录下,这种情况Flutter无法识别组件,调整目录到对应层级即可。 - 校验环境变量配置
- 确认系统变量中同时配置了
ANDROID_HOME和ANDROID_SDK_ROOT,两个变量值均填写Android SDK根目录的绝对路径,不要填写Android Studio安装路径,也不要填写cmdline-tools的子路径。 - 打开系统变量的Path项,确认存在以下三个条目:
%ANDROID_HOME%\cmdline-tools\latest\bin%ANDROID_HOME%\platform-tools%ANDROID_HOME%\emulator
- 配置完成后必须关闭所有已打开的终端、CMD、PowerShell窗口,重新打开终端才会加载更新后的环境变量。
- 确认系统变量中同时配置了
- 命令行补装组件+接受许可证
在新开的终端中依次执行以下命令:- 执行
sdkmanager --install "cmdline-tools;latest",命令会自动在正确路径下安装最新版cmdline-tools,避免Android Studio界面手动安装出现的路径不匹配问题。 - 执行
flutter doctor --android-licenses,所有交互提示均输入y后回车,直到终端提示所有Android许可证已接受完成。
- 执行
- 结果校验
上述操作完成后,在终端执行flutter doctor,cmdline-tools相关报错会直接消失。
注意:如果仅在Android Studio的SDK Tools界面勾选了特定旧版本的cmdline-tools、未勾选latest版本,同样会触发该报错,直接执行上述sdkmanager安装命令即可自动补全对应组件,无需在界面反复勾选调试。
内容的提问来源于stack exchange,提问作者Miran
相关产品推荐
相关产品推荐

