494

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.
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Ashfaq
  • 4,943
  • 2
  • 7
  • 6

23 Answers23

973

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).

Enter image description here

Don't forget to add to your PATH the tools and platform-tools folder that are inside your SDK.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Felipe Carvalho
  • 9,916
  • 1
  • 10
  • 6
  • 11
    @Felipe-carvalho how do i ```Don't forget to add to your PATH the tools and platform-tools folder that are inside your Sdk``` ? – Britchi3 Nov 11 '21 at 15:16
  • 1
    Depends on your operating system. This tutorial (https://gist.github.com/nex3/c395b2f8fd4b02068be37c961301caa7) provides a way of adding folders to your PATH environment variable on the most used OSs. Look for your Android SDK folder, and you'll find the "tools" and "platform-tools" folder. – Felipe Carvalho Nov 23 '21 at 19:31
  • 8
    It only worked for me after I added a bunch of folders to my Ubuntu installation ~/.profile file: `export PATH=$PATH:$HOME/Android/Sdk/platform-tools export PATH=$PATH:$HOME/Android/Sdk/cmdline-tools/latest/bin/ export PATH=$PATH:$HOME/Android/Sdk/build-tools/32.1.0-rc1/ export PATH=$PATH:$HOME/Android/Sdk/emulator/bin64/` – Katu Apr 04 '22 at 07:36
  • 10
    On Mac OS : Monterey, after selecting and applying : "Android SDK Command-line Tools (latest)." The SDK Component Installer installs the tools without the requirements to add PATH – nimey sara thomas Jun 04 '22 at 13:34
  • 41
    Bro , flutter should put the link to your answer in their flutter doctor – Ali Jul 16 '22 at 15:36
  • Flutter doctor cmd prompting to install visual studio to me in windows environment. but, I just want to develop for android. should I need to install a visual studio, I hope flutter should work without it. – Lokendra Parihar Sep 22 '22 at 16:46
  • 2
    C:\Users\\AppData\Local\Android\Sdk\tools\bin also you can check on Appearance & Behavior > System Settins > Android SDK on the "Android SDK Location" input box, or even Edit that value ;) – Enrique San Martín Nov 11 '22 at 00:01
  • @Katu you most definitely do NOT have to add those paths and I would strongly advise you not to. All that has to be set is your ANDROID_HOME and ensure the components are installed by the sdk manager/sdk tools. – RichieHH Nov 12 '22 at 22:57
  • 1
    @RichieHH without that, it didn't work for me. Why do you strongly advice not to do that? What is the downside to adding folders to the path? – Katu Nov 14 '22 at 15:29
  • I don't have a `tools` folder inside the `sdk` directory. I only have `platform-tools`, `build-tools`, `cmdline-tools` (after installing these command line tools), `emulator`, `licenses`, `patcher`, and `platforms`. I'm running macOS Ventura. – Pyzard Feb 12 '23 at 07:11
  • I love you ... I was about to loose my mind there – A Khudairy Mar 07 '23 at 13:16
158

Since my Android Studio starting screen looks different from the answers above I want to share my solution:

An image of the 'Welcome to Android Studio' screen. An arrow highlights the "More Actions" dropdown menu on the bottom of this screen, and a second arrow highlights the "SDK Manager" option within the dropdown menu.

  • Open Android Studio and click on 'more actions' on the welcome screen.
  • Click on 'SDK Manager'

An image of the "Preferences" window within Android Studio. "Android SDK" is selected on the left, then on this settings page, "SK Tools is selected from a top-bar menu. The item called "Android SDK Command-line Tools (latest)" is checked, and changes are applied.

  • In the '*Preferences' window go to the 'SDK Tools' tab
  • Select the 'Android SDK Command-line Tools (latest)' checkbox.
  • Click on 'Apply'.
Slate
  • 221
  • 5
  • 14
Norman
  • 2,267
  • 1
  • 11
  • 17
139

Android SDK Manager screenshot on Windows

Enter image description here

Please see the attached screenshot for installing tools from SDK Manager.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
jnsnsml
  • 1,400
  • 1
  • 3
  • 7
107
  1. Open SDK Manager from your Android Studio.

  2. You can find SDK manager from menubar->tools->SDK manager or use icon. as in the picture.

enter image description here

  1. SDK Tools tab
  2. Check Android SDK Command Line Tools as in the picture
  3. Apply.

enter image description here

  1. Then again run flutter doctor in your terminal.
infomasud
  • 2,263
  • 1
  • 18
  • 12
60

My solution process is as follows:

  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. Install Android SDK Command-line Tools in Android Studio:

    PreferencesAppearance & BehaviorSystem SettingsAndroid SDKSDK ToolsAndroid SDK Command-line Tools (latest)

  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!
    
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
jqgsninimo
  • 6,562
  • 1
  • 36
  • 30
40

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

  • Just type in
flutter config --android-sdk "C:\Users\{Your_User_Name}\AppData\Local\Android\Sdk" # (Default SDK location)
  • Add the path inside "" to where your Android SDK folder is located

  • Then you can run the licenses to verify any license which is not approved.

This worked for me.

Ramesh R
  • 7,009
  • 4
  • 25
  • 38
  • 6
    Extremely helpful! Because of storage shortage, I had to move my sdk folder to D drive, that's why even after intalling the tools and setting the path the issue persisted! Your solution saved me a lot of time! – William Le Nov 10 '21 at 14:18
  • 1
    thank you, for my case i installed sdk in D:\sdk, i just need to run command above with my sdk path and it's working now. – apripuppey Jun 08 '22 at 06:31
  • 1
    That was the missing step for my chromeos / debian install. Thank you – M. Hoffman Jul 12 '22 at 02:04
29

Your Android SDK version requires an update.

Open Android Studio → click Android Studio on the top bar → PreferencesAppearance & behavior (click to open the dropdown) → System Settings (click to open the dropdown) → Android SDKSDK Tools (tab).

Check Android SDK Command-line Tools (latest)Apply → click OK. Once the update has finished, run flutter doctor.

Screenshot of the Appearance & Behavior menu

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Sharon Atim
  • 1,777
  • 16
  • 12
23

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"
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
regina_fallangi
  • 2,080
  • 2
  • 18
  • 38
  • 3
    What worked for me was running: flutter config --android-studio-dir="" and flutter config --android-sdk="" – wamae Oct 25 '21 at 13:12
23

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Enes Karaosman
  • 1,889
  • 20
  • 27
15

Enter image description here

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.
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Md. Shahariar Hossen
  • 1,367
  • 10
  • 11
12

For macOS users:

flutter config --android-sdk "/Users/{YOUR_USER_NAME}/Library/Android/sdk"

Then

flutter doctor --android-licenses

Type "y" for all stops.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Kaloglu
  • 1,651
  • 1
  • 20
  • 31
9

I solved this problem on Windows 10 with the following actions:

  1. 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 & BehaviorSystem SettingsAndroid SDK

  2. Open your Android Studio, and then → FileSettingsAppearance & BehaviorSystem SettingsAndroid SDKSDK Tools → download Android SDK Command-line Tools (latest) and you are good to go.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Amin Arshadinia
  • 188
  • 1
  • 6
9

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=""
Mstrdav
  • 91
  • 1
  • 5
5

I installed the Android SDK platform tool from Android Studio. This helped me to resolve this error.

Error before installation

Installed platform tool from Android Studio

After installation of Platform tools

Ramesh R
  • 7,009
  • 4
  • 25
  • 38
4

On Windows I did two things to resolve it.

  1. Launched Android Studio > More Actions > SDK Manager>SDK Tools and ticked and applied Android SKD Command line tools

  2. Entered flutter config --android-sdk C:\Users\xxx\AppData\Local\Android\Sdk into the command line. The path came from the top of the screen in step 1.

Badrul
  • 179
  • 10
3

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Prajeet Naga
  • 214
  • 1
  • 7
3

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"
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
pola wahba
  • 29
  • 3
3

You have to install Android SDK Command-line Tools. To do that, invoke the menu command FileSettingsAndroid SDK and download the latest.

You must choose Android SDK on the left side of the Settings window. It’s under Appearance & BehaviorSystem Settings.

Ramesh R
  • 7,009
  • 4
  • 25
  • 38
Dinith
  • 839
  • 14
  • 22
2

For MacOS Users

If already have android studio installed simply run:

flutter config --android-sdk "/Users/$USER/Library/Android/sdk" & flutter doctor --android-licenses
Ashish Sahu
  • 1,538
  • 17
  • 22
2

This is for Windows: If you are still facing the issue even after installing the "Android SDK Command-line Tools(latest)" thru Android Studio -> Settings->Appearance & Behavior -> Systems Settings -> Android SDK -> SDK Tools, You need to configure the flutter for Android SDK Path (Not the environment variable path).

Android SDK Will be installed under Program files e.g. (C:\Program Files (x86)\Android\android-sdk). If not this location, find out the location where it is installed and go to the bin folder (C:\Program Files (x86)\Android\android-sdk\cmdline-tools\7.0\bin) and run

flutter config --android-sdk "C:\Program Files (x86)\Android\android-sdk"

After this run flutter doctor, now this issue should be resolved.

Venkatesh Muniyandi
  • 5,132
  • 2
  • 37
  • 40
1

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.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
1

For me, running this command worked perfectly:

flutter config --android-sdk /path/to/your/sdk
Rokas Rudzianskas
  • 582
  • 1
  • 7
  • 10
0

executed the below command to fix the issue in mac

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

sudheer nunna
  • 1,659
  • 15
  • 17