【问题标题】:cmdline-tools : could not determine SDK rootcmdline-tools:无法确定 SDK 根目录
【发布时间】:2021-03-23 12:25:42
【问题描述】:

C:\Android\sdk\bin>sdkmanager 错误:无法确定 SDK 根目录。 错误:使用 --sdk_root= 明确指定它或将此包移动到其预期位置:\cmdline-tools\latest\

即使在 env 变量中指定了根之后,它也会显示为这样。 ANDROID_SDK_ROOT C:\Android\sdk

我使用的是 windows 10 64 位机器,我想在没有 android studio 的情况下运行颤振,所以按照此页面上的说明进行操作 https://medium.com/@quicky316/install-flutter-sdk-on-windows-without-android-studio-102fdf567ce4

【问题讨论】:

    标签: android flutter installation path sdk


    【解决方案1】:

    由于新的更新,文档中没有提到一些更改。 解压命令行工具包后, 您将获得的最顶层目录是 cmdline-tools。 将解压后的目录从cmdline-tools重命名为tools,放在$C:/Android/cmdline-tools

    现在看起来像 $C:/Android/cmdline-tools/工具

    它会完美运行。

    【讨论】:

    • 太棒了!!您是如何找到该解决方案的?
    【解决方案2】:

    https://developer.android.com/studio#downloads 下载 Android SDK 29+(Android 命令行工具)。

    对于“commandlinetools-linux-7302050_latest.zip”,该过程与早期的方法不同。之前解压后,顶层文件夹叫tools,现在顶层文件夹叫cmdline-tools

    问题似乎是 sdkmanager 期望驻留在名为的环境中。 /YOURPATH/cmdline-tools/SOMETHING/bin 但对于 Linux 还是解压到 /YOURPATH/cmdline-tools/bin

    如果你得到

    错误:无法确定 SDK 根目录。

    错误:使用 --sdk_root= 明确指定它或移动它 打包到它的预期位置:/cmdline-tools/latest/

    解压并确保您拥有通往 sdkmanager 的路径。 /YOURPATH/cmdline-tools/latest/bin/sdkmanager

    如何

    要使其正常工作,首先创建您想要的 Android SDK /opt/android-sdk/cmdline-tools/ 的路径,然后将 SDK zip 文件解压到该位置,您将拥有

    /opt/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager
    

    现在将第二个“cmdline-tools”重命名为“latest”

    /opt/android-sdk/cmdline-tools/latest/bin/sdkmanager
    

    现在它应该可以工作了。

    【讨论】:

      【解决方案3】:

      您可以在您的cmdline-tools 中创建一个文件夹latest,并将其所有内容移动到该文件夹​​中。因此,您的完整路径将是 C:\Android\cmdline-tools\latest\bin。使用此配置无需定义 ANDROID_SDK_ROOT 环境变量或 --sdk_root= 选项。它会假设您的 SDK 文件夹是 C:\Android,它会将您的所有文件(系统映像、许可证等)放入其中。

      【讨论】:

      • 这个答案不仅适用于android本身。它一次性解决了我的flutter doctor --android-licenses 问题:“找不到Android sdkmanager。更新到最新的Android SDK 并确保安装了cmdline-tools 来解决这个问题。”
      • 这就是为什么我不喜欢window或andriod,愚蠢的错误,没有工程师精神
      【解决方案4】:

      如果您不想将其移动到其他位置,可以使用--sdk_root 指定要安装和下载 Android SDK 的文件夹。

      例如,如果您想使用:X:\Dev\AndroidSDK,并且您在该文件夹中下载并解压缩了命令行工具包,您将拥有以下路径:X:\Dev\AndroidSDK\cmdline-tools\bin for sdkmanager.bat

      所以,你的命令将是:

      X:\Dev\AndroidSDK\cmdline-tools\bin>.\sdkmanager.bat --sdk_root=X:\Dev\AndroidSDK
      

      PS:AndroidSDK 路径中不要使用空格,否则将不起作用

      【讨论】:

        【解决方案5】:

        如果出现错误 错误:无法确定 SDK 根目录。 错误:使用 --sdk_root= 明确指定它或将此包移动到其预期位置:\cmdline-tools\latest\

        然后使用指定 sdk root 的命令,如下所示:

        sdkmanager --sdk_root=path-to-where-cmdline-tools-is "platform-tools" "platforms;android-29"

        【讨论】:

          【解决方案6】:

          • 转到提取的文件夹android-sdk\cmdline-tools
          • 在其中创建一个名为 latest 的文件夹。
          • 剪切 bin 、 lib ...等并粘贴到最新文件夹中。
          • 进入 android-sdk\cmdline-tools\latest 文件夹的 cmd 并运行:

          sdkmanager “platform-tools” “platforms;android-28”
          

          解决问题

          【讨论】:

            【解决方案7】:
            1. 您需要将所有文件和文件夹放入这个新文件夹tools

                 `C:/Android/cmdline-tools/tools`
              

            或替代步骤

            2.1。输入cmd C:\Android\cmdline-tools\bin

            2.2。输入提示符sdkmanager.bat --sdk_root=C:\Android

            【讨论】:

              【解决方案8】:

              下面的一些答案可能对其他人有用,但就我而言,直到我想到这一点,它们才起作用。

              1. 在解压 zip 文件时不要更改目录名称。 (命令行工具)
              2. 使用记事本或任何相应的编辑器打开 source.property 文件以检查您的 SDK 管理器版本。
              3. 更新您的系统变量路径,即 $C:/Android/cmdline-tools/4.0/bin 在此上下文中 4.0 是我的 SDK 管理器版本,然后关闭终端并再次重新打开并运行 sdkmanager --version

              祝你好运享受你的开发过程!

              【讨论】:

                【解决方案9】:

                我在尝试使用 sdkmanager 接受 android 包的包许可证时遇到了这个答案

                打开bin文件夹(我是从android端下载的,https://developer.android.com/studio#downloads) 我从这里得到了命令行工具。

                首先我尝试了这个 bin> %ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses

                出现错误 - 无法确定询问 root

                然后我尝试了这个

                bin>sdkmanager.bat --licenses --sdk-root\E:\Android

                【讨论】:

                  【解决方案10】:

                  把路径改成这样

                  C:/Android/cmdline-tools/tools/bin 
                  

                  它非常适合我

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-12-29
                    • 1970-01-01
                    • 2021-07-27
                    • 1970-01-01
                    • 2018-08-24
                    • 1970-01-01
                    • 2016-01-30
                    相关资源
                    最近更新 更多