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命令行工具 适用。 然后再跑扑医生

我的解决过程如下:

~/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest" Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519) ... 5 more Install Android SDK Command-line Tools in Android Studio: Preferences → Appearance & Behavior → System Settings → Android SDK → SDK Tools → Android SDK Command-line Tools (latest) flutter doctor Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.5.0, on macOS 11.5.2 20G95 darwin-x64, locale zh-Hans-CN) [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3) [✓] Xcode - develop for iOS and macOS [✓] Chrome - develop for the web [✓] Android Studio (version 2020.3) [✓] IntelliJ IDEA Ultimate Edition (version 2021.2) [✓] IntelliJ IDEA Ultimate Edition (version 2021.2) [✓] Connected device (2 available) • No issues found!

如果您已经从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

这是针对Windows的: 如果您在通过Android Studio ->设置->外观与行为->系统设置-> Android SDK -> SDK工具安装“Android SDK命令行工具(最新)”后仍然面临问题,您需要配置flutter for Android SDK路径(而不是环境变量路径)。

Android SDK将安装在程序文件下,例如(C:\Program files (x86)\Android\ Android - SDK)。如果不是这个位置,找到它安装的位置并进入bin文件夹(C:\Program Files (x86)\Android\ Android -sdk\cmdline-tools\7.0\bin)并运行

flutter config --android-sdk "C:\Program Files (x86)\Android\android-sdk"

经过这次跑扑医生,现在这个问题应该解决了。