Ionic android build Error - Failed to find 'ANDROID_HOME' environment variable

129,472

Solution 1

Android Home should be the root folder of SDK.

export ANDROID_HOME="$HOME/android-sdk-linux"

EDIT: Open terminal and type these commands. (yes, on a ternimal , not in bashrc file)

export ANDROID_HOME=~/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools    

and then in the same terminal just type android. If configured you would be able to use build commands from this terminal. (it's a temporary solution)

Solution 2

For OSX

  • into ~/.bash_profile add:

    export ANDROID_HOME="/path/to/android-sdk-macosx"
    export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
    

    and then execute it in terminal to take effect immediately;

  • into /etc/sudoers add: (you can use console: sudo visudo)

    Defaults        env_keep += "ANDROID_HOME"
    

    since the building process has to start with sudo and Node's process.env get the respective variables.

Solution 3

Setup for Linux/Ubuntu/Mint

  1. download Android Studio or SDK only
  2. install
  3. set PATH

3.1) Open terminal and edit ~/.bashrc

sudo su
vim ~/.bashrc

3.2) Export ANDROID_HOME and add folders with binaries to your PATH

Common default install folders:

  • /root/Android/Sdk
  • ~/Android/Sdk

Example .bashrc

export ANDROID_HOME=/root/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools

3.3) Refresh your PATH

source ~/.bashrc

4) Install correct SDK

When ionic build android still fails it could be because of wrong sdk version. To install correct versions and images run android from command line. Since it is now in your PATH you should be able to run it from anywhere.

Solution 4

Case: using SO Windows, try:

set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

more in: http://spring.io/guides/gs/android/

Case: you don't have platform-tools:

cordova platforms list
cordova platforms add <Your_platform, example: Android>

Solution 5

Download the android SDK http://developer.android.com/sdk/installing/index.html

You only export the path of SDK folder.

export ANDROID_HOME="YOUR_PATH/sdk/"

Share:
129,472
Kumar Elubandi
Author by

Kumar Elubandi

Updated on July 09, 2022

Comments

  • Kumar Elubandi
    Kumar Elubandi almost 2 years

    I am trying to build android for ionic in linux but its showing me an error like this

         [Error: Failed to find 'ANDROID_HOME' environment variable. 
          Try setting setting it manually.
          Failed to find 'android' command in your 'PATH'. 
          Try update your 'PATH' to include path to valid SDK directory.]
          ERROR building one of the platforms: Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2
          You may not have the required environment or OS to build this project
          Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)
    

    and i've added this in my bashrc file

    export ANT_HOME="/usr/bin/ant"
    export PATH="$PATH:$ANT_HOME/bin"
    export HOME="/home/kumar"
    export ANDROID_HOME="$HOME/android-sdk-linux/tools"
    export ANDROID_PLATFORM_TOOLS="$HOME/android-sdk-linux/platform-tools"
    export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
    

    I'm thinking i've given the path but i dont know why its showing me this error .. Please help....

  • Kumar Elubandi
    Kumar Elubandi over 8 years
    changed it but still getting the same issue.
  • Karan Kumar
    Karan Kumar over 8 years
    try doing source ~/.bashrc at your terminal.
  • Ravin Singh D
    Ravin Singh D over 7 years
    Almost 1 hour I wasted setting .bashrc again and again without knowing this need to set in root user bashrc. thanks stranger
  • Shubham Takode
    Shubham Takode over 7 years
    Thanks @D_plus_plus but what causes the issue
  • Ryall
    Ryall over 5 years
    For me, it was installed as my current user, so replace /root with ~