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?
AndroidFlutterAndroid StudioFlutter DoctorAndroid Problem Overview
Android toolchain - I develop for Android devices (Android SDK version 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.
Android Solutions
Solution 1 - Android
The solution for me was opening Android Studio and going to SDK Manager, switch to the SDK Tools tab and check Android SDK Command-line Tools (latest).
Don't forget to add to your PATH the tools and platform-tools folder that are inside your SDK.
Solution 2 - Android
Android SDK Manager screenshot on Windows
Please see the attached screenshot for installing tools from SDK Manager.
Solution 3 - Android
My solution process is as follows:
-
~/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
-
Install Android SDK Command-line Tools in Android Studio:
Preferences → Appearance & Behavior → System Settings → Android SDK → SDK Tools → Android SDK Command-line Tools (latest)
-
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!
Solution 4 - Android
Since my Android Studio starting screen looks different from the answers above I want to share my solution:
- Open Android Studio and click on 'more actions' on the welcome screen.
- Click on 'SDK Manager'
-
In the '*Preferences' window go to the '*SDK Tools•' tab
-
Select the 'Android SDK Command-line Tools (latest)' checkbox.
-
Click on 'Apply'.
Solution 5 - Android
- Open SDK Manager from your Android Studio.
- SDK Tools tab
- Check Android SDK Command Line Tools as in the picture
- Apply.
- Then again run
flutter doctor
.
Solution 6 - Android
If what flutter doctor
said was something like:
[!] 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"`
The path/to/sdkmanager
for me was:
/Users/<user>/Library/Android/sdk/tools/bin/sdkmanager
So what solved the whole thing for me was running:
/Users/<user>/Library/Android/sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
Solution 7 - Android
For macOS, I ran this command;
cd ~/Library/Android/sdk/tools/bin
./sdkmanager --install "cmdline-tools;latest"
Then when I ran the flutter doctor
command again, it confirmed that the problem was solved.
Solution 8 - Android
For Windows users
If you still see the same error even after your build tools, tools are installed and added to the user/system
path variable, and maybe your sdkmanager
location is really not found
Try this
-
Just type in
flutter config --android-sdk "C:\Users\barma\AppData\Local\Android\Sdk" (since my SDK folder is here)
-
Add the path inside
""
to where your Android SDK folder is located -
Then you can run the licenses to verify any license which are not approved.
This worked for me.
Solution 9 - Android
Easiest solution:
- Open Android Studio and click settings in the upper left corner of Android studio.
- Search for "SDK tools" in the search box.
- From the SDK tools just check the Android SDK Platform Tools.
- Run
flutter doctor
to verify. You can also restart Android Studio if you want.
I hope the problem will be solved.
Solution 10 - Android
Your Android SDK version requires an update.
Open Android Studio
File -> Settings -> Preferences -> Appearance & behavior -> System Settings (dropdown) -> Android SDK -> SDK Tools -> check Android SDK Command-line Tools (latest) -> Apply -> click OK once update has finished -> Run flutter doctor. Screenshot of the Appearance & Behavior menu
Solution 11 - Android
I solved this problem on Windows 10 with the following actions:
-
Run the following command in a Windows command prompt or Flutter console:
flutter config --android-sdk "C:\Users\'your computer name' AppData\Local\Android\Sdk"
(you may need to find and enter your own SDK path)
The Android SDK location could be found in the Android Studio application* → Appearance & Behavior → System Settings → Android SDK
-
Open your Android Studio, and then → File → Settings → Appearance & Behavior → System Settings → Android SDK → SDK Tools → download Android SDK Command-line Tools (latest) and you are good to go.
Solution 12 - Android
For Mac OS users:
flutter config --android-sdk "/Users/{YOUR_USER_NAME}/Library/Android/sdk"
then
flutter doctor --android-licenses
Types for all stops "y"
Solution 13 - Android
If you are a Mac user, just open your terminal and paste:
cd Library/Android/sdk/tools/bin./sdkmanager --install "cmdline-tools;latest"
And hit Enter.
This command will install the latest version of cmdline-tools.
Then, run flutter doctor
, and the error will be gone.
Solution 14 - Android
For Linux (Ubuntu)
Just copy this command in your terminal and change 'your user name' with your user name without spaces:
/home/your user name/Android/Sdk/tools/bin/sdkmanager --install "cmdline-tools;latest"
Solution 15 - Android
If you have already downloaded cmdline-tools and the Android Sdk, make sure flutter isn't looking in the wrong directory with
flutter config --android-sdk=""
Solution 16 - Android
I installed the Android SDK platform tool from Android Studio. This helped me resolved this error.
Solution 17 - Android
You have to install Android SDK Command-line Tools. To do that, invoke menu command File → Settings → Android SDK and download the latest.
You must choose Android SDK in the left side of the Settings window. It’s under Appearance & Behavior → System Settings.
Solution 18 - Android
If you have installed the latest cmd-line tools from Android Studio, but it still gives the error, then you should do the following.
If you have installed the Android SDK to a custom directory, then you need to copy the path of your SDK folder. Then you have to go to the edit environment variable, click New give a variable name: ANDROID_SDK_ROOT. And a variable value: path of your SDK folder. Click OK.
In the older version of Flutter, this error came with the solution (creating ANDROID_SDK_ROOT), but in the new versions it does not show that.