我在安装了Flutter和Android Studio之后,得到了错误 cmdline-tools component is missing
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.
flutter doctor
的总结吗?
- abdev 2021-07-03
我的解决方案是打开 Android Studio 并转到 SDK 管理器,切换到 SDK 工具 选项卡并检查 Android SDK 命令行工具(最新).
不要忘了在你的PATH中添加SDK中的工具和平台工具文件夹。
Don't forget to add to your PATH the tools and platform-tools folder that are inside your Sdk
?
- Britchi3 2021-11-11
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
由于我的Android Studio启动屏幕看起来与上面的答案不同,所以我想分享我的解决方案。
- 打开Android Studio,在欢迎界面上点击"更多操作"。
- 点击'SDK Manager'
- 在 "*偏好 "窗口中,进入 "*SDK工具-"标签。
- 选择'Android SDK命令行工具(最新)'复选框。
- 点击“应用”。
flutter doctor --android-licenses
- Ermal 2022-06-20
我的解决过程如下。
~/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
在Android Studio中安装Android SDK的命令行工具。
首选项 → 外观和行为 → 系统设置 → Android SDK → SDK 工具 em> → Android SDK 命令行工具(最新)
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!
For Windows users
如果您在构建工具、工具安装并添加到user/system
路径变量后仍然看到相同的错误,那么您的sdkmanager
位置可能真的找不到
- 只要键入
flutter config --android-sdk "C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk" # (Default SDK location)
将
""
内的路径添加到你的Android SDK文件夹所在的位置然后,你可以运行许可证,以验证任何未被批准的许可证。
这对我来说是有效的。
您的Android SDK版本需要更新。
打开 Android Studio → 点击顶部栏上的 Android Studio → Preferences → 外观和行为(点击打开下拉菜单)→ 系统设置(点击打开下拉菜单)→ Android SDK → SDK 工具(选项卡)。
检查Android SDK 命令行工具(最新) → 应用 → 点击OK。更新完成后,运行flutter doctor
。
如果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"
对于macOS,我运行了这一命令。
cd ~/Library/Android/sdk/tools/bin
./sdkmanager --install "cmdline-tools;latest"
然后当我再次运行flutter doctor
命令时,它确认问题已解决。
最简单的解决方法:
- 打开安卓工作室,点击安卓工作室左上角的设置。
- 在搜索框中搜索"SDK工具"。
- 从 SDK 工具中只需检查 Android SDK 平台工具。
- 运行
flutter doctor
来验证。如果你愿意,你也可以重新启动Android Studio。
我希望这个问题能够得到解决。
我在Windows 10上通过以下操作解决了这一问题。
在Windows命令提示符或Flutter控制台中运行以下命令。
flutter config --android-sdk "C:\Users\'your computer name' AppData\Local\Android\Sdk"
(你可能需要找到并输入你自己的SDK路径)。
Android SDK 位置可以在 Android Studio 应用程序中找到* → Appearance & Behavior → 系统设置 → Android SDK
打开您的 Android Studio,然后 → 文件 → 设置 → 外观和行为 → 系统设置 → Android SDK → SDK 工具 → 下载 Android SDK 命令行工具(最新),一切顺利。
对于macOS用户来说:
flutter config --android-sdk "/Users/{YOUR_USER_NAME}/Library/Android/sdk"
然后
flutter doctor --android-licenses
为所有站点键入"y"。
如果你已经下载了cmdline-tools和Android SDK,请确保Flutter没有在错误的目录中寻找。
flutter config --android-sdk="C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk"
如果你是Mac用户,只需打开你的终端并粘贴。
cd Library/Android/sdk/tools/bin./sdkmanager --install "cmdline-tools;latest"
并打出Enter.
这条命令将安装最新版本的cmdline-tools。
然后,运行flutter doctor
,错误就会消失了。
对于Linux(Ubuntu)来说。
只需在你的终端中复制此命令,并将 "你的用户名 "改为不含空格的用户名。
/home/your user name/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
如果你已经从Android Studio安装了最新的cmd-line工具,但仍然出现了错误,那么你应该做以下工作。
如果您已将 Android SDK 安装到自定义目录,则需要复制 SDK 文件夹的路径。然后你必须去编辑环境变量,点击New给 变量名: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 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,现在这个问题应该可以解决了。
您必须安装 Android SDK 命令行工具。 为此,请调用菜单命令 File → Settings → Android SDK 并下载最新版本。
您必须选择设置窗口左侧的Android SDK。它位于 外观和行为 → 系统设置。