Setting ANDROID_HOME enviromental variable on Mac OS X
MacosAndroid StudioAndroid Sdk-ToolsMacos 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.
-
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). -
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}
-
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
- 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.
I set up the Android SDK separate from android studio, it gives me more control of where things are.
- First, I download the Android SDK (Command line tools) from the official website.
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
-
Open base profile :
open ~/.bash_profile
-
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.