skip to Main Content

I have tried the answers at here & here to no avail.

After installing Android Studio & Flutter on Windows 10, when I run flutter doctor, I get the following:

[√] Flutter (Channel stable, 2.5.0, on Microsoft Windows [Version 10.0.19043.1202], locale en-US)
[X] Android toolchain - develop for Android devices
    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.
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.60.0)
[√] Connected device (2 available)

Opening Android Studio > SDK Manager > Android SDK > SDK Tools uninstalling and re-installing Android SDK Command-line Tools (latest) has no effect.

I have also added <pathToSDK>toolsbin, <pathToSDK>platform-tools, and <pathToSDK>cmdline-toolslatestbin to the user PATH environment variables.

Following the flutter instructions and running <pathToSDKManager> --install "cmdline-tools;latest" (Which for me is located in <pathToSDK>cmdline-toolslatestbin) results with:

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

I haven’t been able to find any documentation on this other than that I need to install some version on Java and add it to my path. The https://flutter.dev/docs/get-started/install/windows page mentions "Make sure that you have a version of Java 8 installed and that your JAVA_HOME environment variable is set to the JDK’s folder." and then states "Android Studio versions 2.2 and higher come with a JDK, so this should already be done." but doesn’t elaborate further.

Opening Android Studio and going to File > Project Structure > Project > Project SDK I can see that Android Studio already recognized several versions of Java installed:

enter image description here

4

Answers


  1. In the screen you’ve shown, just use "Android Studio default JDK" (or any other JDK 11).

    Settings > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK.
    

    You’d also need to setup the same path as JAVA_HOME environmental variable, as well as ANDROID_HOME. In Windows, these can be added below Settings > Advanced System Settings > Environmental Variables. Flutter needs these set up to find the CLI tools …
    and the problem might not be the CLI tools themselves, but that it doesn’t know about the Java SDK or Android SDK at all.

    Login or Signup to reply.
  2. You can follow the below steps in order to ensure proper working of your flutter project:

    Your sdk manager should look something like this:

    enter image description here

    1. Installing Android SDK Command-line Tools in Android Studio:

    Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools >

    Install these 3 tools:

    • Android SDK Command-line Tools (latest)
    • Android SDK Build Tools 31
    • Android SDK Platform tools (latest version 31)

    Make sure every tool is the same latest version in order to avoid any errors as there might be new updates later on.

    1. Also make sure to Accept Android Licences by running below command in your cmd:
    flutter doctor --android-licenses
    

    If anything above didn’t work out make sure you have set the proper JDK/JRE locations in environment variables in system settings of windows:

    Add below path in your System environment path variable for user variable as well as your system variable:

     C:Program FilesJavajdkXXXXXbin 
    

    Here, XXX is your version, and this should be added in your sys var and user both

    C:UsersNehaAppDataLocalAndroidSdktools
    C:UsersNehaAppDataLocalAndroidSdkbuild-tools
    C:UsersNehaAppDataLocalAndroidSdkplatform-tools
    

    The above three paths should be added in your user variable path. Check the two screenshots attached below for proper path settings.
    I have added android studio’s tools path also so do that as I have done in screenshot.

    This one is for user variable path:

    enter image description here

    This one is for system variable path:

    enter image description here

    Follow source to learn more about setting the path for java.

    Login or Signup to reply.
  3. If you are installing Flutter without Android Studio.
    Run this command in your Android/bin folder directory where you have your sdkmanager.bat file.
    In my case its C:Androidbin>.
    type this command

    sdkmanager.bat --install "cmdline-tools;latest --sdk_root=../
    

    This worked for me and I hope it will work for you too.

    Login or Signup to reply.
  4. If you have installed Flutter without Android Studio. Run this command in your Android/bin folder directory where you have your sdkmanager.bat file. In my case its C:Androidbin>

    sdkmanager.bat "cmdline-tools;latest" --sdk_root=../
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search