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:
4
Answers
In the screen you’ve shown, just use "Android Studio default JDK" (or any other JDK 11).
You’d also need to setup the same path as
JAVA_HOME
environmental variable, as well asANDROID_HOME
. In Windows, these can be added belowSettings
>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.
You can follow the below steps in order to ensure proper working of your flutter project:
Your sdk manager should look something like this:
1. Installing Android SDK Command-line Tools in Android Studio:
Preferences
>Appearance & Behavior
>System Settings
>Android SDK
>SDK Tools
>Install these 3 tools:
Make sure every tool is the same latest version in order to avoid any errors as there might be new updates later on.
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:
Here, XXX is your version, and this should be added in your sys var and user both
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:
This one is for system variable path:
Follow source to learn more about setting the path for java.
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
This worked for me and I hope it will work for you too.
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>