我在安装了Flutter和Android Studio之后,得到了错误 cmdline-tools component is missing

回答 20 浏览 27.8万 2021-07-03

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.
Ashfaq 提问于2021-07-03
你能分享一下flutter doctor的总结吗?abdev 2021-07-03
20 个回答
#1楼 已采纳
得票数 576

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

Enter image description here

不要忘了在你的PATH中添加SDK中的工具和平台工具文件夹。

Felipe Carvalho 提问于2021-07-23
Peter Mortensen 修改于2022-01-03
@Felipe-carvalho 我如何Don't forget to add to your PATH the tools and platform-tools folder that are inside your SdkBritchi3 2021-11-11
取决于你的操作系统。这个教程(gist.github.com/nex3/c395b2f8fd4b02068be37c961301caa7)提供了一种在最常用的操作系统上向你的PATH环境变量添加文件夹的方法。寻找你的Android SDK文件夹,你会发现"工具"和"平台-工具"文件夹。Felipe Carvalho 2021-11-23
我在Ubuntu安装的~/.profile文件中添加了一堆文件夹后,它才对我起作用。export PATH=$PATH:$HOME/Android/Sdk/platform-tools export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin/ export PATH=$PATH:$HOME/Android/Sdk/build-tools/32.1.0-rc1/ export PATH=$PATH:$HOME/Android/Sdk/emulator/bin64/Katu 2022-04-04
在Mac OS :Monterey,在选择并应用:"Android SDK Command-line Tools(最新)."SDK组件安装程序安装工具时无需添加PATH要求。nimey sara thomas 2022-06-04
兄弟,Flutter应该把你的答案的链接放到他们的Flutter医生那里。Ali 2022-07-16
#2楼
得票数 111

Android SDK Manager在Windows上的屏幕截图

Enter image description here

请看附件中的截图,从SDK管理器中安装工具。

jnsnsml 提问于2021-09-25
Peter Mortensen 修改于2022-01-03
#3楼
得票数 97

由于我的Android Studio启动屏幕看起来与上面的答案不同,所以我想分享我的解决方案。

enter image description here

  • 打开Android Studio,在欢迎界面上点击"更多操作"。
  • 点击'SDK Manager'

enter image description here

  • 在 "*偏好 "窗口中,进入 "*SDK工具-"标签。
  • 选择'Android SDK命令行工具(最新)'复选框。
  • 点击“应用”。
Norman 提问于2022-02-08
Norman 修改于2022-02-08
这就解决了问题。值得一提的是,最后一步是。flutter doctor --android-licensesErmal 2022-06-20
这是救命的东西,谢谢你!🙏🏽Binita Gupta 2022-09-14
#4楼
得票数 54

我的解决过程如下。

  1. ~/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
    
  2. 在Android Studio中安装Android SDK的命令行工具。

    首选项外观和行为系统设置Android SDKSDK 工具 em> → Android SDK 命令行工具(最新)

  3. 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!
    
jqgsninimo 提问于2021-09-10
Peter Mortensen 修改于2022-01-03
我喜欢这些步骤!让我知道我们是相同的错误,然后可以保持与解决方案!Tokenyet 2021-12-22
对我来说,只需第2步就可以解决这个问题了。Vysakhan Kasthuri 2021-12-30
除了这些操作之外,我不得不在'flutter doctor --android-licenses'上执行这个命令,以接受所有的安卓许可证。Ricla 2022-02-20
第2步也可以按照Md.Shahariar Hossen在下面的说明。Space 2022-07-29
Flutter的开发人员真的应该从您的解决方案中吸取经验,先生。这很有效!Aadn 2022-08-16
#5楼
得票数 45
  1. 从你的Android Studio中打开SDK管理器。
  2. SDK工具选项卡
  3. 检查Android SDK Command Line Tools如图
  4. Apply.
  5. 然后再次运行flutter doctor在此处输入图片描述
infomasud 提问于2021-11-08
Ramesh R 修改于2022-10-10
#6楼
得票数 30

For Windows users

如果您在构建工具、工具安装并添加到user/system 路径变量后仍然看到相同的错误,那么您的sdkmanager 位置可能真的找不到

  • 只要键入
flutter config --android-sdk "C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk" # (Default SDK location)
  • ""内的路径添加到你的Android SDK文件夹所在的位置

  • 然后,你可以运行许可证,以验证任何未被批准的许可证。

这对我来说是有效的。

Manash J. Barman 提问于2021-09-24
Ramesh R 修改于2022-10-10
非常有帮助!由于存储空间不足,我不得不将我的sdk文件夹移到D盘,这就是为什么即使在安装了工具和设置了路径后,问题仍然存在!你的解决方案为我节省了很多时间。你的解决方案节省了我大量的时间!Sean William 2021-11-10
谢谢你,对于我的情况,我在D:\sdk中安装了sdk,我只需要用我的sdk路径运行上面的命令,它现在就可以工作了。apripuppey 2022-06-08
这是我安装chromeos/debian时缺少的步骤。谢谢你M. Hoffman 2022-07-12
我的救星!遗憾的是,它没有在安装教程中说明qwlice 2022-08-30
#7楼
得票数 27

您的Android SDK版本需要更新。

打开 Android Studio → 点击顶部栏上的 Android StudioPreferences外观和行为(点击打开下拉菜单)→ 系统设置(点击打开下拉菜单)→ Android SDKSDK 工具(选项卡)。

检查Android SDK 命令行工具(最新)应用 → 点击OK。更新完成后,运行flutter doctor

外观& 行为菜单的屏幕截图

Sharon Atim 提问于2022-03-10
Peter Mortensen 修改于2022-08-19
对于一个非常常见的错误,简单的工作解决方案Abdelrahman Ellithy 2022-08-09
#8楼
得票数 22

如果flutter doctor说的是这样的内容:

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/<admin>/Library/Android/sdk
✗ cmdline-tools component is missing
  Run `path/to/sdkmanager --install "cmdline-tools;latest"`

path/to/sdkmanager 对我来说是:

/Users/<user>/Library/Android/sdk/tools/bin/sdkmanager

因此,对我来说,解决整个问题的方法是跑步。

/Users/<user>/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
regina_fallangi 提问于2021-08-13
Peter Mortensen 修改于2022-01-03
对我有用的是运行:flutter config --android-studio-dir=""和flutter config --android-sdk=""。wamae 2021-10-25
#9楼
得票数 21

对于macOS,我运行了这一命令。

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

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

Enes Karaosman 提问于2021-09-09
Peter Mortensen 修改于2022-08-19
#10楼
得票数 13

Enter image description here

最简单的解决方法:

  • 打开安卓工作室,点击安卓工作室左上角的设置。
  • 在搜索框中搜索"SDK工具"。
  • 从 SDK 工具中只需检查 Android SDK 平台工具
  • 运行flutter doctor来验证。如果你愿意,你也可以重新启动Android Studio。
    我希望这个问题能够得到解决。
Md. Shahariar Hossen 提问于2021-09-14
Peter Mortensen 修改于2022-01-03
#11楼
得票数 7

我在Windows 10上通过以下操作解决了这一问题。

  1. 在Windows命令提示符或Flutter控制台中运行以下命令。

    flutter config --android-sdk "C:\Users\'your computer name' AppData\Local\Android\Sdk"
    

    (你可能需要找到并输入你自己的SDK路径)。

    Android SDK 位置可以在 Android Studio 应用程序中找到* → Appearance & Behavior系统设置Android SDK

  2. 打开您的 Android Studio,然后 → 文件设置外观和行为系统设置Android SDKSDK 工具 → 下载 Android SDK 命令行工具(最新),一切顺利。

Amin Arshadinia 提问于2021-11-26
Peter Mortensen 修改于2022-01-03
#12楼
得票数 7

对于macOS用户来说:

flutter config --android-sdk "/Users/{YOUR_USER_NAME}/Library/Android/sdk"

然后

flutter doctor --android-licenses

为所有站点键入"y"。

Kaloglu 提问于2022-03-12
Peter Mortensen 修改于2022-08-19
#13楼
得票数 6

如果你已经下载了cmdline-tools和Android SDK,请确保Flutter没有在错误的目录中寻找。

flutter config --android-sdk="C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk"
Mstrdav 提问于2022-02-12
Ramesh R 修改于2022-10-10
是"cmdline-tools"的字面意思还是"command line tools"?Peter Mortensen 2022-08-19
#14楼
得票数 3

如果你是Mac用户,只需打开你的终端并粘贴。

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

并打出Enter.

这条命令将安装最新版本的cmdline-tools

然后,运行flutter doctor,错误就会消失了。

Prajeet Naga 提问于2021-09-11
Peter Mortensen 修改于2022-01-03
在我的mac上,运行上述程序会出现错误ClassNotFoundException: javax.xml.bind.annotation.XmlSchema。但在Android Studio内安装命令行工具,解决了这个问题。首选项 > 外观 & 行为 > 系统设置 > Android SDK > SDK工具 > Android SDK命令行工具 (最新)John Weidner 2021-09-23
#15楼
得票数 3

对于Linux(Ubuntu)来说。

只需在你的终端中复制此命令,并将 "你的用户名 "改为不含空格的用户名。

/home/your user name/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
pola wahba 提问于2021-10-05
Peter Mortensen 修改于2022-01-03
#16楼
得票数 2

我从Android Studio安装了Android SDK平台工具。这帮助我解决了这个错误。

安装前的错误

从Android Studio中安装的平台工具

安装完平台工具后

sidharth vijayakumar 提问于2021-10-16
Ramesh R 修改于2022-10-10
你能以text的形式提供第一张和最后一张图片吗,谢谢?预先感谢。Peter Mortensen 2022-01-03
#17楼
得票数 1

如果你已经从Android Studio安装了最新的cmd-line工具,但仍然出现了错误,那么你应该做以下工作。

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

在旧版本的Flutter中,这个错误伴随着解决方案(创建ANDROID_SDK_ROOT),但在新版本中,它没有显示。

jahidul islam 提问于2021-12-27
Peter Mortensen 修改于2022-01-03
#18楼
得票数 1

适用于MacOS用户

如果已经安装了android studio,那么只需运行即可。

flutter config --android-sdk "/Users/$USER/Library/Android/sdk" & flutter doctor --android-licenses
Ashish Sahu 提问于2022-08-30
#19楼
得票数 1

这是针对Windows的:如果你在安装了"Android SDK Command-line Tools(最新)"通过Android Studio -> Settings->Appearance & Behavior -> Systems Settings -> Android SDK -> SDK Tools之后仍然面临这个问题,你需要为Android SDK路径(而不是环境变量路径)配置flutter。

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"

经过这次运行flutter doctor,现在这个问题应该可以解决了。

Venkatesh Muniyandi 提问于2022-09-17
#20楼
得票数 1

您必须安装 Android SDK 命令行工具。 为此,请调用菜单命令 FileSettingsAndroid SDK 并下载最新版本。

您必须选择设置窗口左侧的Android SDK。它位于 外观和行为系统设置

Dinith 提问于2021-11-04
Ramesh R 修改于2022-10-10