Skip to content

Instantly share code, notes, and snippets.

Last active December 7, 2023 18:10
Star You must be signed in to star a gist
What would you like to do?
Easily setup an Android development environment on a Mac

Here is a high level overview for what you need to do to get most of an Android environment setup and maintained.

Prerequisites (for Homebrew at a minimum, lots of other tools need these too):

  • XCode is installed (via the App Store)
  • XCode command line tools are installed (xcode-select --install will prompt up a dialog)
  • Java

Install Homebrew:

ruby -e "$(curl -fsSL"

Make sure the doctor is happy (do what it tells you):

brew doctor

Use Homebrew to install Android dev tools:

brew install ant
brew install maven
brew install gradle
brew install android-sdk
brew install android-ndk

Install all of the Android SDK components (you will be prompted to agree to license info and then this will take a while to run):

android update sdk --no-ui

Install HAXM for blazing fast emulators. Check out the "Configuring VM Acceleration on Mac" section here:

Update your environment variables:

export ANT_HOME=/usr/local/opt/ant
export MAVEN_HOME=/usr/local/opt/maven
export GRADLE_HOME=/usr/local/opt/gradle
export ANDROID_HOME=/usr/local/opt/android-sdk
export ANDROID_NDK_HOME=/usr/local/opt/android-ndk

Update your paths (bonus points to a better solution to the hardcoded build tools version):

export PATH=$ANT_HOME/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/19.1.0:$PATH

Periodically run these commands again to ensure you're staying up to date:

brew update
android update sdk --no-ui
  • Note: It looks like there might be an issue with brew update and the android-sdk formula.

Install Eclipse, IntelliJ, Android Studio, or your other favorite IDE.

If everything goes smoothly on a moderate network connection you can expect this process to take 2-4 hours.

Copy link

xjones commented Feb 27, 2017

ANT_HOME should be set as:

export ANT_HOME=/usr/local/opt/ant/libexec

Copy link

tokra commented Apr 18, 2017

Hi, android-sdk is no more available in brew install but brew cask install android-sdk

Copy link

gngchrs commented Apr 21, 2017

brew cask install android-sdk brings in the version without the android command. You now have to use sdkmanager

Copy link

my android_sdk path is set to /usr/local/Caskroom/android-sdk/25.2.3 after i did brew cask install android_sdk
But when i try to create android app using native CLI, it gives me an error
The ANDROID_HOME environment variable points to incorrect directory. You will not be able to perform any build-related operations for Android

Copy link

For anyone with NPE error and a stacktrace related to NDK i had to do this to fix.
Remove export ANDROID_NDK_HOME=/usr/local/opt/android-ndk

Copy link

Use sdkmanager --update instead android sdk update

Copy link

cesar-oyarzun-m commented Jun 12, 2017

@hprobotic I'm trying to run the emulator but I get android sdk not found, has anyone see same problem. I'm using brew cask install android-sdk and my configuration is this

export ANDROID_SDK_ROOT=/usr/local/share/android-sdk
export ANDROID_HOME=/usr/local/share/android-sdk
export ANDROID_NDK_HOME=/usr/local/opt/android-ndk
export PATH="$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools:$PATH"
sdkmanager "system-images;android-25;google_apis;armeabi-v7a"
sdkmanager --update 
sdkmanager  --list
#avdmanager create avd -n Nexus6P -k "system-images;android-23;google_apis;x86_64" -b google_apis/x86_64 -c 100M -d 7 -f
avdmanager create avd -n test -k "system-images;android-25;google_apis;armeabi-v7a" -b armeabi-v7a -c 100M -d 7 -f
avdmanager list avd
cd $(dirname $(which emulator)) && ./emulator @test -no-audio -no-window -verbose

I get error

emulator: qemu backend: argv[00] = "../emulator/qemu/darwin-x86_64/qemu-system-armel"
emulator: qemu backend: argv[01] = "@test"
emulator: qemu backend: argv[02] = "-no-audio"
emulator: qemu backend: argv[03] = "-no-window"
emulator: qemu backend: argv[04] = "-verbose"
emulator: Concatenated backend parameters:
 ../emulator/qemu/darwin-x86_64/qemu-system-armel @test -no-audio -no-window -verbose
emulator: ERROR: can't find SDK installation directory
emulator: could not find virtual device named 'test'

Copy link

I get this error

Copy link

@jpca999 use
brew install caskroom/cask/android-ndk

Copy link

hendricius commented Jul 24, 2017

or just:

brew cask install android-sdk
brew cask install android-ndk

Copy link

Having the ANT_HOME environment variable set breaks ant.

With it set:
% ant --execdebug
exec "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="$ANT_HOME" -Dant.library.dir="$ANT_LIB" -cp "$CLASSPATH" "-lib" "/usr/local/share/ant" Error: Could not find or load main class

Without it set:
% ant --execdebug
exec "$JAVACMD" -classpath "$LOCALCLASSPATH" -Dant.home="$ANT_HOME" -Dant.library.dir="$ANT_LIB" -cp "$CLASSPATH"
Buildfile: build.xml does not exist!
Build failed

Ref. this issue.

Copy link

agrcrobles commented Nov 28, 2017

Update your environment variables


android-28 / android-30

sdk can be installed on /Library/Android/sdk or /usr/local/ to be sure check it by

which sdkmanager


export ANDROID_HOME=$HOME/Library/Android/sdk


export ANDROID_HOME="/usr/local/share/android-sdk"

Both are valid locations for the android sdk from what I am aware of :)

android-28 / android-30

Copy paste, It's a good idea double check your paths anyways.

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


Copy link

mrded commented Mar 11, 2018


Use Homebrew to install Android dev tools:

brew cask install android-sdk
brew cask install android-ndk

Update your environment variables:

export ANDROID_NDK_HOME=/usr/local/share/android-ndk
export ANDROID_SDK_ROOT=/usr/local/share/android-sdk

Install all of the Android SDK components:

sdkmanager --update

Copy link

Thanks @mrded !
Almost one-line offer.

Copy link

amityweb commented May 21, 2018

Can you update the instructions save reading all the threads, its the following for me:
brew cask install android-sdk
brew cask install android-ndk

Copy link

I had so much trouble getting the android sdk and java sdk working with my Pixel, running through multiple iterations of Android Studio setup and different versions of Java. I am on OSX

I finally started over and settled on the following:
java version "1.8.0_171" (JDK 8)

This brew cask was the only thing I could get my Pixel working with:
brew cask install android-studio

react-native-cli: 2.0.1

Thanks to the makers of that cask.

Copy link

molcik commented Jul 11, 2018

Do you want to avoid struggle with this setup? Read this tutorial

Copy link

ngryman commented Jul 23, 2018

@molcik Just curious, where did you struggle exactly? @mrded's update is pretty straightforward and worked for me ¯_(ツ)_/¯

Copy link

@molcik that website is just absolute spam. It only provides an alternative "solution" of installing Android Studio. And then links to this very gist.
Should probably be reported as spam...

Copy link

Of course, brew cask install java will install and help you maintain the JDK.

or asdf plugin-add java && asdf install java oracle-8.191 && asdf global java oracle-8.191

Copy link

X901 commented Jan 3, 2019

Thank you so much , Finally working with showing this error Cannot find AVD system path. Please define ANDROID_SDK_ROOT

Copy link

android-ndk is no longer available.

Copy link

andrewhavens commented May 1, 2019

2019 Update:

Some packages have been removed or changed (such as java, android-ndk, etc). This is what worked for me:

brew cask install adoptopenjdk8
brew cask install android-sdk

echo "export ANDROID_HOME=/usr/local/share/android-sdk" >> ~/.bash_profile
source ~/.bash_profile

touch ~/.android/repositories.cfg
sdkmanager --update
sdkmanager "platform-tools" "platforms;android-28"

The sdkmanager had a problem when ~/.android/repositories.cfg didn't exist, but by simply creating the file, it solved the problem.

Copy link

romenigld commented May 11, 2019

Install with:
brew cask install android-studio

Copy link

brew cask install android-studio

Copy link

brew install android-studio --cask since new brew

Copy link

For People who make both Android, iOS Apps i made a crazy doc here

Enjoy !

Copy link

Note, adoptopendk8 has been officially discontinued, it may stop working in recent versions of MacOS.
Temurin is the official successor:

brew install --cask temurin8

Copy link

I advice you guy to use Jabba instead of anything else !

Copy link

intfrr commented Mar 6, 2023

It's better to use sdkman to instal any jdk version (temurin or any other), ant, gradle and maven

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment