【问题标题】:I am getting error "cmdline-tools component is missing" after installing Flutter and Android Studio... I added the Android SDK. How can I solve them?安装 Flutter 和 Android Studio 后出现错误“缺少 cmdline-tools 组件”...我添加了 Android SDK。我该如何解决它们?
【发布时间】:2021-09-15 01:07:24
【问题描述】:

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的总结吗?

标签: android flutter android-studio flutter-doctor


【解决方案1】:

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

不要忘记将 SDK 中的 tools 和 platform-tools 文件夹添加到 PATH。

【讨论】:

  • @Felipe-carvalho 我怎么Don't forget to add to your PATH the tools and platform-tools folder that are inside your Sdk
  • 取决于您的操作系统。本教程 (gist.github.com/nex3/c395b2f8fd4b02068be37c961301caa7) 提供了一种在最常用的操作系统上将文件夹添加到 PATH 环境变量的方法。查找您的 Android SDK 文件夹,您会找到“工具”和“平台工具”文件夹。
【解决方案2】:

Windows 上的 Android SDK 管理器屏幕截图

有关从 SDK 管理器安装工具的信息,请参阅随附的屏幕截图。

【讨论】:

    【解决方案3】:

    我的解决过程如下:

    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!
      

    【讨论】:

    • 我喜欢这些步骤!让我知道我们是同样的错误,然后可以继续解决!
    • 对我来说,第 2 步解决了问题。
    【解决方案4】:

    如果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"
    

    【讨论】:

    • 对我有用的是运行:flutter config --android-studio-dir="" 和 flutter config --android-sdk=""
    • 此评论就在这里。 @wamae 绝对值得自己回答。
    【解决方案5】:

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

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

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

    【讨论】:

      【解决方案6】:
      1. 从您的 Android Studio 打开 SDK 管理器。
      2. SDK 工具 标签
      3. 如图所示检查Android SDK 命令行工具
      4. 申请
      5. 然后再次运行flutter doctor

      【讨论】:

        【解决方案7】:

        最简单的解决方案:

        • 打开Android Studio,点击Android Studio左上角的设置。
        • 在搜索框中搜索“SDK 工具”。
        • 从 SDK 工具只需检查 Android SDK 平台工具
        • 运行flutter doctor 进行验证。如果需要,您也可以重新启动 Android Studio。
          希望问题能得到解决。

        【讨论】:

        • 到目前为止,这是最准确的答案。谢谢。
        【解决方案8】:

        对于 Windows 用户

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

        试试这个

        • 只需输入

          flutter config --android-sdk "C:\Users\barma\AppData\Local\Android\Sdk" (since my SDK folder is here)
          
        • "" 中的路径添加到您的Android SDK 文件夹所在的位置

        • 然后您可以运行许可证来验证任何未批准的许可证。

        这对我有用。

        【讨论】:

        • 非常有帮助!由于存储空间不足,我不得不将我的 sdk 文件夹移动到 D 盘,这就是为什么即使在安装工具和设置路径后问题仍然存在!您的解决方案为我节省了很多时间!
        【解决方案9】:

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

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

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

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

          Android SDK 位置可以在 Android Studio 应用程序中找到* → 外观和行为系统设置Android SDK

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

        【讨论】:

          【解决方案10】:

          如果您是 Mac 用户,只需打开终端并粘贴:

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

          然后按 Enter

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

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

          【讨论】:

          • 在我的 Mac 上,运行上面给出的错误 ClassNotFoundException: javax.xml.bind.annotation.XmlSchema。但是从 Android Studio 中安装命令行工具解决了这个问题。首选项 > 外观和行为 > 系统设置 > Android SDK > SDK 工具 > Android SDK 命令行工具(最新)
          【解决方案11】:

          对于 Linux (Ubuntu)

          只需在终端中复制此命令,然后将“您的用户名”更改为不带空格的用户名:

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

          【讨论】:

            【解决方案12】:

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

            Error before installation

            Installed platform tool from Android Studio

            After installation of Platform tools

            【讨论】:

            【解决方案13】:

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

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

            【讨论】:

              【解决方案14】:

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

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

              在旧版本的 Flutter 中,解决方案(创建 ANDROID_SDK_ROOT)会出现此错误,但在新版本中不会显示。

              【讨论】:

                猜你喜欢
                • 2021-09-25
                • 1970-01-01
                • 2022-11-30
                • 2022-07-21
                • 2021-11-05
                • 2021-09-17
                • 2019-05-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多