Android工具链-我为Android设备开发(Android SDK版本30.0.3):

X cmdline-tools component is missing
  Run `path/to/sdkmanager --install "cmdline-tools;latest"`
  See https://developer.android.com/studio/command-line for more details.

当前回答

对于macOS,我运行这个命令;

cd ~/Library/Android/sdk/tools/bin
./sdkmanager --install "cmdline-tools;latest"

然后,当我再次运行flutter doctor命令时,它确认问题已解决。

其他回答

我的解决方案是打开Android Studio,进入SDK管理器,切换到SDK工具选项卡,并检查Android SDK命令行工具(最新)。

不要忘记将SDK中的工具和平台工具文件夹添加到PATH中。

Windows用户

如果您在构建工具之后仍然看到相同的错误,安装工具并将其添加到用户/系统路径变量中,可能您的sdkmanager位置确实没有找到

只要输入

flutter config --android-sdk "C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk" # (Default SDK location)

将“”内的路径添加到Android SDK文件夹所在的位置 然后,您可以运行许可证来验证任何未批准的许可证。

这对我很管用。

如果您已经从Android Studio安装了最新的cmd行工具,但它仍然给出错误,那么您应该执行以下操作。

如果你已经将Android SDK安装到一个自定义目录,那么你需要复制SDK文件夹的路径。然后你要去编辑环境变量,点击New give 一个变量名ANDROID_SDK_ROOT。还有一个变量值:SDK文件夹的路径。 单击OK。

在较旧版本的Flutter中,此错误随解决方案一起出现(创建ANDROID_SDK_ROOT),但在新版本中它没有显示这一点。

MacOS用户

如果已经安装了android studio,只需运行:

flutter config --android-sdk "/Users/$USER/Library/Android/sdk" & flutter doctor --android-licenses

适用于Linux (Ubuntu)

在你的终端复制这个命令,然后用你的用户名(不带空格)修改“你的用户名”:

/home/your user name/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"