Setting ANDROID_HOME enviromental variable on Mac OS X

MacosAndroid StudioAndroid Sdk-Tools

Macos Problem Overview


Could anybody post a working solution for setting ANDROID_HOME via the terminal?

My path to the Android-SDK is /Applications/ADT/sdk.

Macos Solutions


Solution 1 - Macos

Where the Android-SDK is installed depends on how you installed it.

  1. If you downloaded the SDK through their website and then dragged/dropped the Application to your Applications folder, it's most likely here:

    /Applications/ADT/sdk (as it is in your case).

  2. If you installed the SDK using Homebrew (brew cask install android-sdk), then it's located here:

    /usr/local/Caskroom/android-sdk/{YOUR_SDK_VERSION_NUMBER}

  3. If the SDK was installed automatically as part of Android Studio then it's located here:

    /Users/{YOUR_USER_NAME}/Library/Android/sdk

Once you know the location, open a terminal window and enter the following (changing out the path to the SDK to be however you installed it):

export ANDROID_HOME={YOUR_PATH}

Once you have this set, you need to add this to the PATH environment variable:

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Lastly apply these changes by re-sourcing .bash_profile:

source ~/.bash_profile

  1. Type - echo $ANDROID_HOME to check if the home is set.

echo $ANDROID_HOME

Solution 2 - Macos

In Terminal:

nano ~/.bash_profile 

Add lines:

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

Check it worked:

source ~/.bash_profile
echo $ANDROID_HOME

Solution 3 - Macos

Adding the following to my .bash_profile worked for me:

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Solution 4 - Macos

I am having MAC OS X(Sierra) 10.12.2.

I set ANDROID_HOME to work on React Native(for Android apps) by following the following steps.

  • Open Terminal (press Command+SpaceBar, type Terminal, Hit ENTER).

  • Add the following 3 lines to ~/.bash_profile.

      export ANDROID_HOME=$HOME/Library/Android/sdk/
      export PATH=$PATH:$ANDROID_HOME/tools
      export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Finally execute the below command (or RESTART the system to reflect the changes made).

    source ~/.bash_profile

That's it.

Solution 5 - Macos

quoting @user2993582's answer

export PATH=$PATH:$ANDROID_HOME/bin

The 'bin' part has changed and it should be

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Solution 6 - Macos

I'm using React Native with Catalina mac os and zsh shell

1- touch ~/.zshrc

2- open ~/.zshrc

3- according to React Native android setup copy and past

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

to the opened text file then save and close the file.

4- run source ~/.zshrc and make sure to restart your terminal.

5- run adb you will get something like > Android Debug Bridge version 1.0.41 Version 30.0.0-6374843

thanks for this documented

update1 16/2/2021

this solution works with Big Sur as well.

Solution 7 - Macos

> Could anybody post a working solution for doing this in the terminal?

ANDROID_HOME is usually a directory like .android. Its where things like the Debug Key will be stored.

export ANDROID_HOME=~/.android 

You can automate it for your login. Just add it to your .bash_profile (below is from my OS X 10.8.5 machine):

$ cat ~/.bash_profile
# MacPorts Installer addition on 2012-07-19 at 20:21:05
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

# Android
export ANDROID_NDK_ROOT=/opt/android-ndk-r9
export ANDROID_SDK_ROOT=/opt/android-sdk
export JAVA_HOME=`/usr/libexec/java_home`
export ANDROID_HOME=~/.android

export PATH="$ANDROID_SDK_ROOT/tools/":"$ANDROID_SDK_ROOT/platform-tools/":"$PATH"

According to David Turner on the NDK Mailing List, both ANDROID_NDK_ROOT and ANDROID_SDK_ROOT need to be set because other tools depend on those values (see Recommended NDK Directory?).

After modifying ~/.bash_profile, then perform the following (or logoff and back on):

source ~/.bash_profile

Solution 8 - Macos

To set ANDROID_HOME, variable, you need to know how you installed android dev setup.

If you don't know you can check if the following paths exist in your machine. Add the following to .bashrc, .zshrc, or .profile depending on what you use

If you installed with homebrew,

export ANDROID_HOME=/usr/local/opt/android-sdk

Check if this path exists:

If you installed android studio following the website,

export ANDROID_HOME=~/Library/Android/sdk

Finally add it to path:

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

If you're too lazy to open an editor do this:

echo "export ANDROID_HOME=~/Library/Android/sdk" >> ~/.bashrc
echo "export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools" >> ~/.bashrc

Solution 9 - Macos

A lot of correct answers here. However, one item is missing and I wasn't able to run the emulator from the command line without it.

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$PATH:$JAVA_HOME/bin

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator       # can't run emulator without it
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

So it's a compilation of the answers above plus a solution for this problem.

And if you use zsh (instead of bash) the file to edit is ~/.zshrc.

Solution 10 - Macos

The ANDROID_HOME environment is the same as the ANDROID_SDK_ROOT environment, this means it defines the path to the SDK installation directory.

Click here to about more.

I set up the Android SDK separate from android studio, it gives me more control of where things are.

cd $HOME/Downloads
curl https://dl.google.com/android/repository/commandlinetools-mac-7302050_latest.zip --output android-sdk.zip
  • Second, I unzip the file in the Downloads directory, this process will generate a directory called cmdline-tools.
unzip android-sdk.zip
  • Third, I create a directory called android in the local directory.

    (/usr/local system-wide, read-only files installed by the local administrator, usually you)

sudo mkdir /usr/local/android
  • Fourth, I move the directory generated by decompression to the android directory renaming it to sdk. (In the future I will add the ndk directory beside the sdk)
sudo mv cmdline-tools /usr/local/android/sdk
  • Fifth, I manually add the environment variables to the .zshrc file in my personal directory.
nano $HOME/.zshrc
# ...

# Set environment variables for Android SDK
export ANDROID_SDK_ROOT=/usr/local/android/sdk
export ANDROID_HOME=$ANDROID_SDK_ROOT

# Insert executable file paths in PATH environment variable
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

Solution 11 - Macos

Setup ANDROID_HOME , JAVA_HOME enviromental variable on Mac OS X

Add In .bash_profile file

export JAVA_HOME=$(/usr/libexec/java_home)

export ANDROID_HOME=/Users/$USER/Library/Android/sdk

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

For Test

echo $ANDROID_HOME
echo $JAVA_HOME

Solution 12 - Macos

People, note that if you will use ~/.bash_profile then it will edit not your user's bash profile, but global. Instead go to your users directory (/Users/username) and edit it directly:

vim .bash_profile

And insert following two lines with respect to your Username and SDK directory

export PATH=$PATH:/Users/<username>/Library/Android/sdk/tools
export PATH=$PATH:/Users/<username>/Library/Android/sdk/platform-tools

Solution 13 - Macos

  1. Open base profile :

    open ~/.bash_profile

  2. Add below line in base profile :

    export PATH=${PATH}:/Users//Library/Android/sdk/build-tools/27.0.3

Save and close base profile.

For me 27.0.3 working great.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJacek KwiecieńView Question on Stackoverflow
Solution 1 - Macosuser2993582View Answer on Stackoverflow
Solution 2 - MacosDavid DouglasView Answer on Stackoverflow
Solution 3 - MacosCodeGuyRossView Answer on Stackoverflow
Solution 4 - MacoshygullView Answer on Stackoverflow
Solution 5 - Macoskip2View Answer on Stackoverflow
Solution 6 - MacosAmr AbdalrahmanView Answer on Stackoverflow
Solution 7 - MacosjwwView Answer on Stackoverflow
Solution 8 - Macossudo bangbangView Answer on Stackoverflow
Solution 9 - MacosiutinvgView Answer on Stackoverflow
Solution 10 - MacosDavid GasparView Answer on Stackoverflow
Solution 11 - MacosShomuView Answer on Stackoverflow
Solution 12 - MacosmarkkillahView Answer on Stackoverflow
Solution 13 - MacosKhurshid AnsariView Answer on Stackoverflow