Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions.
AndroidWindowsMacosCordovaAndroid Problem Overview
I'm trying to install PhoneGap and I'm getting the following error:
> Error: ANDROID_HOME is not set and "android" command not in your PATH. You must fulfill at least one of these conditions.
Error (screenshot)
What do I do to ensure Android is set up correctly for use with Cordova?
Android Solutions
Solution 1 - Android
For Windows:
set ANDROID_HOME=C:\ *installation location* \android-sdk
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
Taken from this installation guide.
Solution 2 - Android
For Mac OS X:
export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Solution 3 - Android
I have MAC OS X Yosemite, Android Studio 1.0.1, JDK 1.8, and Cordova 4.1.2
When I tried to add the android project:
cordova platforms add android
I received the message: ANDROID_HOME is not set and "android" command not in your PATH
Based in cforcloud's answer... https://stackoverflow.com/questions/24580966/error-the-command-android-failed-using-cordova/26186336#26186336 and http://developer.android.com/sdk/installing/index.html?pkg=studio I used the following:
export ANDROID_HOME="/Users/<user_name>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<user_name>/Library/Android/sdk/tools/"
export ANDROID_PLATFORM_TOOLS="/Users/<user_name>/Library/Android/sdk/platform-tools/"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS
echo $PATH
When I tried to create the android project, I received this message:
Creating android project...
/Users/lg/.cordova/lib/npm_cache/cordova-android/3.6.4/package/bin/node_modules/q/q.js:126
throw e;
^
Error: Please install Android target "android-19".
I ran Android SDK Manager, and installed Android 4.4.2 (API 19) (everything but Glass Development Kit Preview). It worked for me.
===
This is the content of my .bash_profile file.
export PATH=$PATH:/usr/local/bin
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
launchctl setenv STUDIO_JDK /library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
export ANDROID_HOME="/Users/<UserName>/Library/Android/sdk"
export ANDROID_TOOLS="/Users/<UserName>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<UserName>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS
To edit .bash_profile using Terminal, I use nano. It is easy to understand.
cd
nano .bash_profile
I hope it helps.
Solution 4 - Android
for windows:
Right click on My computer -> properties -> Advanced system setting -> Environment Variables
Edit Path on system variables to ;\yourSdkHome\tools;\yourSdkHome\platform-tools.
Then Close your cmd prompt and reopen.
Solution 5 - Android
On Linux, add this to the end of your .bashrc, .profile or appropriate file for your shell:
export ANDROID_HOME=/home/youruser/whatever/adt-bundle-linux-x86_64-20140702/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools
Please notice that these environment variables will be available for newly created shells, not the already open.
Solution 6 - Android
Using Android Studio on Windows the system variables settings have changed a little.
You still have to add a system variable ANDROID_HOME
, but pointing to the directory containing the android SDK usually installed in C:\Users\YOUR_USERNAME\AppData\Local\Android\android-studio\sdk
.
You also need to add the following to the Path
system variable:
;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
Taken from: https://github.com/simnova/webdevdocs/wiki/Installing-PhoneGap-and-Android-Studio-on-Windows
SDK Path also be in C:\Users\USER\AppData\Local\Android\sdk
Solution 7 - Android
This is what I just tried to make it work. I was in:
os x Yosemite version 10.10.2
cordova version 4.2.0
android studio 1.0.1
Java SE Development Kit 7
set path:
# on ~/.zshrc file (open a text editor)
export ANDROID_HOME="/Users/<user>/Library/Android/sdk/"
export ANDROID_TOOLS="/Users/<user>/Library/Android/sdk/tools"
export ANDROID_PLATFORM_TOOLS="/Users/<user>/Library/Android/sdk/platform-tools"
PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS
reopen terminal
install "android-19" from android SDK manager
$ android
# pick "SDK Platform Android 4.4.2, API 19"
and then go to a Cordova-based project directory
$ ionic platform add android
Solution 8 - Android
Android path set in linux:
$export ANDROID_HOME=/usr/lib/android-sdk-linux
$export PATH=$PATH:$ANDROID_HOME/tools
$export PATH=$PATH:$ANDROID_HOME/platforms-tools
than
$cordova run android
Solution 9 - Android
For Windows I just had to add an env variable pointing to the SDK folder. Done! (The accepted answer didn´t work for me)
Solution 10 - Android
ANDROID_HOME
is deprecated now instead of using ANDROID_HOME
use ANDROID_SDK_ROOT
as per Google android documentation -
ANDROID_SDK_ROOT
sets the path to the SDK installation directory. Once set, the value does not typically change, and can be shared by multiple users on the same machine. ANDROID_HOME, which also points to the SDK installation directory, is deprecated.
If you continue to use it, the following rules apply:
- If
ANDROID_HOME
is defined and contains a valid SDK installation, its value is used instead of the value inANDROID_SDK_ROOT
. - If
ANDROID_HOME
is not defined, the value inANDROID_SDK_ROOT
is used. - If
ANDROID_HOME
is defined but does not exist or does not contain a valid SDK installation, the value inANDROID_SDK_ROOT
is used instead.
For details follow this Android Documentation link
Solution 11 - Android
In Linux,
edit .bashrc
file and add the ANDROID_HOME
and PATH
variable,
export ANDROID_HOME=/usr/local/android-sdk-linux/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools
After saving .bashrc
file, run
source ~/.bashrc
then in type
android
in a terminal
if it will run, ANDROID_HOME
and PATH
is set,
if you get this message,
bash: /src/android-sdk/tools/android: Permission denied
then run
sudo chmod a+x /usr/local/android-sdk-linux/tools/android
otherwise you will get same error message
Error: Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.
NB: Use your android sdk installation path instead of /usr/local/android-sdk-linux/
Solution 12 - Android
Only one change was needed to fix the problem:
Go to Start -> Control Panel -> System -> Advanced(tab) -> Environment Variables -> System Variables
set ANDROID_HOME
to C:\Program Files (x86)\Android\android-sdk
Solution 13 - Android
I had to close and re-open my windows console (or open a new console), and then open the SDK manager (ran android
), after which a bunch of updates and installs had to complete.
Solution 14 - Android
For those who are working with Ionic Framework on windows and doesn't have andorid studio installed on their PCs, you must have either download Android Studio or at list download the SDK Manager.
If you choose the SDK Manager option you have to set the path for the Enviroment Variable:
-
Variable name:
ANDROID_HOME
, Variable value: the path where you installed the android SDK, in my case is,C:\Android\android-sdk
. -
You have to add the variable to the Path variable system by adding this:
;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
. -
Then if you got the "JDK error" just download it from the Oracle website and create a system variable like the Android SDK: Variable name:
JAVA_HOME
, Variable value: the path where you installed the JDK, in my case is,C:\Program Files\Java\jdk1.8.0_144
. Then add it to the Path variable system by adding;%JAVA_HOME%\bin
. -
Then if you got the "Gradle error" just fallow the installations steps on the official website of gradle.
-
Finally you can continue to creating your ionic app's apk.
> Note: you have to reopen the cmd window several times or restart your pc after making those changes. Hope this work for you.
Solution 15 - Android
Using Android Studio on Mac, run this on your terminal:
export ANDROID_HOME=/Applications/Android\ Studio.app/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platforms-tools
Then, when you type
android
at your terminal, it will run something
Solution 16 - Android
- Go to system properties.
- Click change setting.
- Click advance tab.
- Click Environment Variables button.
- In system variables area click new button.
- Set
ANDROID_HOME
in the Variable name field. - Set
C:\Program Files (x86)\Android\android-sdk
in the Variable value field. - Click ok button.
- Double click Path variable in the list.
- Click new button.
- Past
C:\Program Files (x86)\Android\android-sdk\platform-tools
in the filed. - Click new button again.
- Past
C:\Program Files (x86)\Android\android-sdk\tools
in the field. - Press enter 3 times.
That's all you need to do.
Solution 17 - Android
You just need to type a command in flutter_console.bat
type flutter config --android-sdk <path-to-your-android-sdk-path>
Solution 18 - Android
It's is mostly with missing andriod SDK. for this issue and "JAVA_HOME" error following solution worked for me... hole day saved after following steps.
To build and run apps, you need to install SDKs for each platform you wish to target. Alternatively, if you are using browser for development you can use browser platform which does not require any platform SDKs.
To check if you satisfy requirements for building the platform:
$ cordova requirements
Requirements check results for android:
Java JDK: installed .
Android SDK: installed
Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23
Gradle: installed
Requirements check results for ios:
Apple OS X: not installed
Cordova tooling for iOS requires Apple OS X
Error: Some of requirements check failed
Solution 19 - Android
By the way, one other possibility is that you do have a too old version of cordova android platform.
> Error: Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.
Then:
cordova platform update android --save
Solution 20 - Android
if Linux users still have the same error, probably they have used "sudo" for adding android platform.. a quick solution for this here, or you have installed cordova using sudo, also there is a solution for this problem here.
Hope this help!
Solution 21 - Android
I also faced this same issue, I got a solution with this.
I did the following steps :
- Open system properties
- Environment variables
- create a new system variable
- name: ANDROID_HOME
- value: copy your SDK path( Ex: my SDK path E:\SoftWares\Android-SDK)
close your current cmd, and restart it run flutter doctor
this should work on windows
Solution 22 - Android
I encountered this error and I had to set the ANDROID_HOME
using bash_profile
.
Then run the source ~/.bash_profile
before running appium from terminal.
Solution 23 - Android
The main reason of this would be the path ( ANDROID_HOME ) is not set in appium. You can confirm that by checking the last step first
step 1 :- Checkout the path where android sdk is located
-
it could be in c drive/program files or below location mostly
-
C:\Users\yourUserName\AppData\Local\Android\Sdk
Step2 :- Set the System variables . By typing in search bar in window (you can open this window for setting system variables)
Last step :- To confirm the problem will not repeat verify this, Open appium click on edit configuration and confirm if you can see the path set
Solution 24 - Android
You can set the ANDROID_HOME
variable from inside Visual Studio
as well:
Go to Tools
->Options
->Cross Platform
->C++
and enter the path under Android SDK
.
Solution 25 - Android
If nothing else works, make sure that you have correct permissions and ownership set up during building. A quick fix can be:
sudo chown -R <you>:<your_group> *
sudo chmod -R 755 *