cmdline-tools:无法确定 SDK 根目录
cmdline-tools : could not determine SDK root
C:\Android\sdk\bin>sdkmanager
错误:无法确定 SDK 根目录。
错误:使用 --sdk_root= 明确指定或将此包移动到其预期位置:\cmdline-tools\latest\
即使在 env 变量中指定了 root 之后,它也是这样显示的。
ANDROID_SDK_ROOT C:\Android\sdk
我正在使用 windows 10 64 位机器,我想在没有 android studio 的情况下 运行 flutter 所以按照此页面上的说明进行操作 https://medium.com/@quicky316/install-flutter-sdk-on-windows-without-android-studio-102fdf567ce4
自新更新以来,有一些文档中未提及的更改。
解压命令行工具包后,
您将获得的最顶层目录是 cmdline-tools。
将解压后的目录从cmdline-tools重命名为tools,放在$C:/Android/cmdline-tools
下
现在看起来像
$C:/Android/cmdline-tools/工具
它将完美运行。
如果不想移动到其他位置,可以使用--sdk_root
指定要安装和下载AndroidSDK的文件夹。
例如,如果您要使用: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 路径中不要使用空格,否则将无法运行
您可以在 cmdline-tools
中创建一个文件夹 latest
,然后将其中的所有内容移动到该文件夹中。因此,您的完整路径将是 C:\Android\cmdline-tools\latest\bin
。使用此配置无需定义 ANDROID_SDK_ROOT
环境变量或 --sdk_root=
选项。它会假定您的 SDK 文件夹是 C:\Android
,并且会将您的所有文件(系统映像、许可证等)放入其中。
如果出现错误
错误:无法确定 SDK 根目录。
错误:使用 --sdk_root= 明确指定它或将此包移动到其预期位置:\cmdline-tools\latest\
然后使用指定 sdk root 的命令,例如:
sdkmanager --sdk_root=path-to-where-cmdline-tools-is "platform-tools" "platforms;android-29"
正在从 https://developer.android.com/studio#downloads.
下载 Android SDK 29+(Android 的命令行工具)
对于“commandlinetools-linux-7302050_latest.zip”,该过程与早期方法不同。早些时候解压后,顶级文件夹名为 tools
,但现在顶级文件夹名为 cmdline-tools
。
问题似乎是 sdkmanager 期望驻留在名为的环境中。 /YOURPATH/cmdline-tools/SOMETHING/bin
但解包到 /YOURPATH/cmdline-tools/bin
无论如何 Linux。
如果你得到
Error: Could not determine SDK root.
Error: Either specify it explicitly with --sdk_root= or move this
package into its expected location: <sdk>/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
现在应该可以了。
下面的一些答案可能对其他人有用,但对我来说,直到我想到这一点,它们才起作用。
- 解压缩 zip 文件时不要更改目录名称。 (命令行工具)
- 使用记事本或任何相应的编辑器打开 source.property 文件以检查您的 SDK 管理器版本。
- 更新您的系统变量路径,即在此上下文中的 $C:/Android/cmdline-tools/4.0/bin 4.0 是我写这篇文章时的 SDK 管理器版本,然后关闭终端并再次重新打开它 运行 sdkmanager --version
祝你好运享受你的开发过程!
您需要将所有文件和文件夹放在这个新文件夹中tools
`C:/Android/cmdline-tools/tools`
或备选步骤
2.1。输入 cmd C:\Android\cmdline-tools\bin
2.2。输入提示 sdkmanager.bat --sdk_root=C:\Android
• 转到提取的文件夹 android-sdk\cmdline-tools
• 在其中创建一个名为latest 的文件夹。
• 剪切 bin、lib ...等并粘贴到最新的文件夹中。
• 转到 android-sdk\cmdline-tools\latest 文件夹的 cmd 和 运行:
sdkmanager “platform-tools” “platforms;android-28”
解决问题
我在尝试使用 sdkmanager
接受 android 包的包许可证时遇到了这个答案
打开bin文件夹(我是从android那边下载的,https://developer.android.com/studio#downloads)
我从这里得到了 cmdline 工具。
首先我尝试了这个
bin> %ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses
遇到错误 - 无法确定询问 root
然后我试了这个
bin>sdkmanager.bat --licenses --sdk-root\E:\Android
把路径改成这样
C:/Android/cmdline-tools/tools/bin
它非常适合我
我在 mac.
中成功配置了 command-line-tools
- 大苏尔
11.6.4
commandlinetools-mac-8092744_latest.zip
(6.0)
下载 zip archive 并解压。
% unzip commandlinetools-mac-8092744_latest.zip
% mv cmdline-tools latest
% mkdir sdk
% mkdir sdk/cmdline-tools
% mv latest sdk/cmdline-tools
看起来像这样。
┌ sdk
│ ├ cmdline-tools
│ │ ├ latest
│ │ │ ├ bin
│ │ │ ├ lib
│ │ │ ├ NOTICE.txt
│ │ │ ├ source.properties
运行 sdkmanager
% ./sdk/cmdline-tools/latest/bin/sdkmanager
[============================] 100% Computing updates...
我在 Ubuntu 服务器 18.04 上一直遇到这个错误,看来问题出在路径上。它应该与您下载 zip 时给出的不同。
这就是我为解决我的问题所做的工作:
~> wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
~> unzip commandlinetools-linux-8092744_latest.zip
~> mkdir android-sdk
~> mv cmdline-tools android-sdk
~> cd android-sdk/cmdline-tools; mkdir latest
~> mv ./* latest
# */ So the path will be now :
# android-sdk/cmdline-tools/latest/bin
# instead of android-sdk/cmdline-tools/bin
~> nano ~/.bashrc
# add these two lines :
export ANDROID_HOME=$HOME/android-sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
# save the file
source ~/.bashrc
# Try this now, it should work.
sdkmanager --list
我正在 Mac 上安装 Android Studio for Flutter。以下步骤解决问题:
原解压文件夹为cmdline-tools
。将文件夹层次结构更改为 cmdline-tools > latest
。这意味着在 cmdline-tools
下创建一个新目录 latest
并将所有内容移动到 latest
。 TL;DR 如果您仔细查看 zip 文件名,您会发现它的名称表明这是最新的。您可以有多个版本的 cmdline-tools,但 latest
目录意味着其中的内容是最新的。说说为什么要新建目录吧。
找出 Android SDK 所在的位置。打开 Android Studio 并导航至 Preference > Appearance & Behavior > System Settings > Android SDK
。 Android SDK Location
是安装 Android SDK 的地方。对我来说,是/Users/myname/Library/Android/sdk
。打开您的 Finder 并导航到它。
将cmdline-tools
移动到sdk
目录下。仔细检查 /Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager
下是否有 sdkmanager
遵循 Flutter 暗示我们要做的事情。 运行 /Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;latest"
在您的终端中。这告诉最新的 sdkmanager 在哪里。
运行 flutter doctor -v
再次进入您的终端。问题应该已解决。
C:\Android\sdk\bin>sdkmanager 错误:无法确定 SDK 根目录。 错误:使用 --sdk_root= 明确指定或将此包移动到其预期位置:\cmdline-tools\latest\
即使在 env 变量中指定了 root 之后,它也是这样显示的。 ANDROID_SDK_ROOT C:\Android\sdk
我正在使用 windows 10 64 位机器,我想在没有 android studio 的情况下 运行 flutter 所以按照此页面上的说明进行操作 https://medium.com/@quicky316/install-flutter-sdk-on-windows-without-android-studio-102fdf567ce4
自新更新以来,有一些文档中未提及的更改。 解压命令行工具包后, 您将获得的最顶层目录是 cmdline-tools。 将解压后的目录从cmdline-tools重命名为tools,放在$C:/Android/cmdline-tools
下现在看起来像 $C:/Android/cmdline-tools/工具
它将完美运行。
如果不想移动到其他位置,可以使用--sdk_root
指定要安装和下载AndroidSDK的文件夹。
例如,如果您要使用: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 路径中不要使用空格,否则将无法运行
您可以在 cmdline-tools
中创建一个文件夹 latest
,然后将其中的所有内容移动到该文件夹中。因此,您的完整路径将是 C:\Android\cmdline-tools\latest\bin
。使用此配置无需定义 ANDROID_SDK_ROOT
环境变量或 --sdk_root=
选项。它会假定您的 SDK 文件夹是 C:\Android
,并且会将您的所有文件(系统映像、许可证等)放入其中。
如果出现错误 错误:无法确定 SDK 根目录。 错误:使用 --sdk_root= 明确指定它或将此包移动到其预期位置:\cmdline-tools\latest\
然后使用指定 sdk root 的命令,例如:
sdkmanager --sdk_root=path-to-where-cmdline-tools-is "platform-tools" "platforms;android-29"
正在从 https://developer.android.com/studio#downloads.
下载 Android SDK 29+(Android 的命令行工具)对于“commandlinetools-linux-7302050_latest.zip”,该过程与早期方法不同。早些时候解压后,顶级文件夹名为 tools
,但现在顶级文件夹名为 cmdline-tools
。
问题似乎是 sdkmanager 期望驻留在名为的环境中。 /YOURPATH/cmdline-tools/SOMETHING/bin
但解包到 /YOURPATH/cmdline-tools/bin
无论如何 Linux。
如果你得到
Error: Could not determine SDK root.
Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: <sdk>/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
现在应该可以了。
下面的一些答案可能对其他人有用,但对我来说,直到我想到这一点,它们才起作用。
- 解压缩 zip 文件时不要更改目录名称。 (命令行工具)
- 使用记事本或任何相应的编辑器打开 source.property 文件以检查您的 SDK 管理器版本。
- 更新您的系统变量路径,即在此上下文中的 $C:/Android/cmdline-tools/4.0/bin 4.0 是我写这篇文章时的 SDK 管理器版本,然后关闭终端并再次重新打开它 运行 sdkmanager --version
祝你好运享受你的开发过程!
您需要将所有文件和文件夹放在这个新文件夹中
tools
`C:/Android/cmdline-tools/tools`
或备选步骤
2.1。输入 cmd C:\Android\cmdline-tools\bin
2.2。输入提示 sdkmanager.bat --sdk_root=C:\Android
• 转到提取的文件夹 android-sdk\cmdline-tools
• 在其中创建一个名为latest 的文件夹。
• 剪切 bin、lib ...等并粘贴到最新的文件夹中。
• 转到 android-sdk\cmdline-tools\latest 文件夹的 cmd 和 运行:
sdkmanager “platform-tools” “platforms;android-28”
解决问题
我在尝试使用 sdkmanager
接受 android 包的包许可证时遇到了这个答案打开bin文件夹(我是从android那边下载的,https://developer.android.com/studio#downloads) 我从这里得到了 cmdline 工具。
首先我尝试了这个 bin> %ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses
遇到错误 - 无法确定询问 root
然后我试了这个
bin>sdkmanager.bat --licenses --sdk-root\E:\Android
把路径改成这样
C:/Android/cmdline-tools/tools/bin
它非常适合我
我在 mac.
中成功配置了 command-line-tools- 大苏尔
11.6.4
commandlinetools-mac-8092744_latest.zip
(6.0)
下载 zip archive 并解压。
% unzip commandlinetools-mac-8092744_latest.zip
% mv cmdline-tools latest
% mkdir sdk
% mkdir sdk/cmdline-tools
% mv latest sdk/cmdline-tools
看起来像这样。
┌ sdk
│ ├ cmdline-tools
│ │ ├ latest
│ │ │ ├ bin
│ │ │ ├ lib
│ │ │ ├ NOTICE.txt
│ │ │ ├ source.properties
运行 sdkmanager
% ./sdk/cmdline-tools/latest/bin/sdkmanager
[============================] 100% Computing updates...
我在 Ubuntu 服务器 18.04 上一直遇到这个错误,看来问题出在路径上。它应该与您下载 zip 时给出的不同。 这就是我为解决我的问题所做的工作:
~> wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
~> unzip commandlinetools-linux-8092744_latest.zip
~> mkdir android-sdk
~> mv cmdline-tools android-sdk
~> cd android-sdk/cmdline-tools; mkdir latest
~> mv ./* latest
# */ So the path will be now :
# android-sdk/cmdline-tools/latest/bin
# instead of android-sdk/cmdline-tools/bin
~> nano ~/.bashrc
# add these two lines :
export ANDROID_HOME=$HOME/android-sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
# save the file
source ~/.bashrc
# Try this now, it should work.
sdkmanager --list
我正在 Mac 上安装 Android Studio for Flutter。以下步骤解决问题:
原解压文件夹为
cmdline-tools
。将文件夹层次结构更改为cmdline-tools > latest
。这意味着在cmdline-tools
下创建一个新目录latest
并将所有内容移动到latest
。 TL;DR 如果您仔细查看 zip 文件名,您会发现它的名称表明这是最新的。您可以有多个版本的 cmdline-tools,但latest
目录意味着其中的内容是最新的。说说为什么要新建目录吧。找出 Android SDK 所在的位置。打开 Android Studio 并导航至
Preference > Appearance & Behavior > System Settings > Android SDK
。Android SDK Location
是安装 Android SDK 的地方。对我来说,是/Users/myname/Library/Android/sdk
。打开您的 Finder 并导航到它。将
下是否有cmdline-tools
移动到sdk
目录下。仔细检查/Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager
sdkmanager
遵循 Flutter 暗示我们要做的事情。 运行
/Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;latest"
在您的终端中。这告诉最新的 sdkmanager 在哪里。运行
flutter doctor -v
再次进入您的终端。问题应该已解决。