'cmdline-tools : could not determine SDK root
C:\Android\sdk\bin>sdkmanager Error: Could not determine SDK root. Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: \cmdline-tools\latest\
it shows like this, even after specifying the root in env variables. ANDROID_SDK_ROOT C:\Android\sdk
I am using windows 10 64 bit machine, I want to run flutter without android studio so followed instruction on this page https://medium.com/@quicky316/install-flutter-sdk-on-windows-without-android-studio-102fdf567ce4
Solution 1:[1]
Since new updates, there are some changes that are not mentioned in the documentation. After unzipping the command line tools package, the top-most directory you'll get is cmdline-tools. Rename the unpacked directory from cmdline-tools to tools, and place it under $C:/Android/cmdline-tools
now it will look like $C:/Android/cmdline-tools/tools
and it will work perfectly.
Solution 2:[2]
Downloading the Android SDK 29+ (command line tools for Android) from https://developer.android.com/studio#downloads.
For "commandlinetools-linux-7302050_latest.zip" the process was different from earlier approaches. Earlier after unpacking, the top folder was called tools
, but now the top folder is called cmdline-tools
.
The problem seems to be that the sdkmanager expects to reside in an environment called. /YOURPATH/cmdline-tools/SOMETHING/bin
but unpacks to /YOURPATH/cmdline-tools/bin
for Linux anyway.
if you get
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/
Unpack and make sure you have this path to the sdkmanager.
/YOURPATH/cmdline-tools/latest/bin/sdkmanager
How To
To get this to work, first create the path to your intended Android SDK /opt/android-sdk/cmdline-tools/
then unpack the SDK zip file to that location, and you will have
/opt/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager
Now rename the second "cmdline-tools" to "latest"
/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager
And now it should work.
Solution 3:[3]
You can create a folder latest
inside your cmdline-tools
and move all it's contents inside this folder. So, your full path will be C:\Android\cmdline-tools\latest\bin
. Using this config there is no need to define a ANDROID_SDK_ROOT
environment variable or a --sdk_root=
option. It'll assume that your SDK folder is C:\Android
, and it'll put all your files (system-images, licenses, ...) inside it.
Solution 4:[4]
If you don't want to move it to another location, you can use --sdk_root
to specify the folder where do you want to install and download Android SDK.
For example, if you want to use: X:\Dev\AndroidSDK
and you downloaded and unziped your the command line tools package in that folder, you'll have this path: X:\Dev\AndroidSDK\cmdline-tools\bin
for sdkmanager.bat
.
So, your command will be:
X:\Dev\AndroidSDK\cmdline-tools\bin>.\sdkmanager.bat --sdk_root=X:\Dev\AndroidSDK
PS: Don't use spaces on the path to AndroidSDK or it will not work
Solution 5:[5]
• Go to extracted folder android-sdk\cmdline-tools
• Create a folder named latest in it.
• Cut bin , lib ...etc & paste in latest folder.
• Go to cmd of android-sdk\cmdline-tools\latest folder and run:
sdkmanager “platform-tools” “platforms;android-28”
It solves the problem
Solution 6:[6]
I successfully configured the command-line-tools in my mac.
- Big Sur
11.6.4
commandlinetools-mac-8092744_latest.zip
(6.0)
Downloaded a zip archive and unzip it.
% unzip commandlinetools-mac-8092744_latest.zip
% mv cmdline-tools latest
% mkdir sdk
% mkdir sdk/cmdline-tools
% mv latest sdk/cmdline-tools
This looks like this.
? sdk
? ? cmdline-tools
? ? ? latest
? ? ? ? bin
? ? ? ? lib
? ? ? ? NOTICE.txt
? ? ? ? source.properties
run sdkmanager
% ./sdk/cmdline-tools/latest/bin/sdkmanager
[============================] 100% Computing updates...
Solution 7:[7]
if you get an error Error: Could not determine SDK root. Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: \cmdline-tools\latest\
then use command with sdk root specified like:
sdkmanager --sdk_root=path-to-where-cmdline-tools-is "platform-tools" "platforms;android-29"
Solution 8:[8]
You need put all the files and folders in this new folder
tools
`C:/Android/cmdline-tools/tools`
OR Alternative step
2.1. type cmd C:\Android\cmdline-tools\bin
2.2. type in the promt sdkmanager.bat --sdk_root=C:\Android
Solution 9:[9]
Some of the answers below might have worked for others but for my case, they didn't work until I figured this.
- Do not change the directory name upon extracting the zip file. (cmdline-tools)
- open the source.property file using notepad or any respective editor to check your SDK manager version.
- Update your system variable paths i.e $C:/Android/cmdline-tools/4.0/bin in this context 4.0 is my SDK manager version upon writing this and thereafter close the terminal and reopen it again and run sdkmanager --version
Good luck Enjoy your development process!
Solution 10:[10]
I have been facing this error on Ubuntu server 18.04, and it appears that the problem comes from the path. It should be different than what is given when you the download the zip. This is what I did to solve the problem in my case :
~> 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
Solution 11:[11]
I came across this answer while I was trying to accept package license for android package with sdkmanager
Open bin folder ( I have downloaded from android side, https://developer.android.com/studio#downloads) I got the cmdline tools from here.
First I tried this bin> %ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses
Got error - could not determined ask root
Then I tried this one
bin>sdkmanager.bat --licenses --sdk-root\E:\Android
Solution 12:[12]
change the path to like this
C:/Android/cmdline-tools/tools/bin
it worked for me perfectly
Solution 13:[13]
I'm installing Android Studio for Flutter on my Mac. The following steps solve the problem:
The original unzipped folder is
cmdline-tools
. Change the folder hierarchy intocmdline-tools > latest
. That means creating a new directorylatest
undercmdline-tools
and moving everything tolatest
. TL;DR If you look at the zip file name carefully, you'll find out that its name indicates that this is the latest one. You can have many versions of cmdline-tools but thelatest
directory means what is inside it is the latest one. Let's why we have to create a new directory.Find out where the Android SDK is located. Open Android Studio and navigate to
Preference > Appearance & Behavior > System Settings > Android SDK
. TheAndroid SDK Location
is where your Android SDK is installed. For me, it is/Users/myname/Library/Android/sdk
. Open your Finder and navigate to it.Move the
cmdline-tools
under thesdk
directory. Double check that you havesdkmanager
under/Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager
Follow what Flutter implies us to do. Run
/Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;latest"
in your terminal. This tells where the latest sdkmanager is.Run
flutter doctor -v
in your terminal again. The problem should be fixed.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow