Skip to content

Instantly share code, notes, and snippets.

@limitedeternity
Last active June 26, 2021 21:50
Show Gist options
  • Save limitedeternity/5523615c225bd631279fcf00f8540f8f to your computer and use it in GitHub Desktop.
Save limitedeternity/5523615c225bd631279fcf00f8540f8f to your computer and use it in GitHub Desktop.
Setup 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:

  • XCode command line tools are installed (xcode-select --install will prompt up a dialog)
  1. Install Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Make sure the doctor is happy (do what it tells you):

    brew doctor
    brew tap caskroom/cask
    brew update
  3. Install Java 8:

    • Fetch it and unzip.

    • cd zulu8.46.0.19-ca-fx-jdk8.0.252-macosx_x64/

    • sudo mkdir -p /Library/Java/JavaVirtualMachines/ && sudo cp -aR zulu-8.jdk /Library/Java/JavaVirtualMachines/

  4. Install Python 3:

    brew install python3
  5. Use Homebrew to install Android dev tools:

    brew install ant
    brew install maven
    brew install gradle
    brew cask install android-sdk
    brew cask install android-ndk
  6. Install Flutter:

    brew tap flschweiger/flutter
    brew cask install flutter
  7. Install HAXM for blazing fast emulators:

    brew cask install intel-haxm
  8. Update your environment variables (add the following to your ~/.bash_profile):

    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
    export ANT_HOME=/usr/local/opt/ant/libexec
    export MAVEN_HOME=/usr/local/opt/maven
    export GRADLE_HOME=/usr/local/opt/gradle
    export ANDROID_HOME=/usr/local/share/android-sdk
    export ANDROID_NDK_HOME=/usr/local/share/android-ndk
    export INTEL_HAXM_HOME=/usr/local/Caskroom/intel-haxm
    
    alias emulator=$ANDROID_HOME/emulator/emulator
    
    export PATH=$ANT_HOME/bin:$PATH
    export PATH=$MAVEN_HOME/bin:$PATH
    export PATH=$GRADLE_HOME/bin:$PATH
    export PATH=$ANDROID_HOME/emulator:$PATH
    export PATH=$ANDROID_HOME/tools:$PATH
    export PATH=$ANDROID_HOME/tools/bin:$PATH
    export PATH=$ANDROID_HOME/platform-tools:$PATH
    export PATH=$ANDROID_HOME/build-tools/$(ls $ANDROID_HOME/build-tools | sort | tail -1):$PATH
    export PATH=$PATH:/usr/local/Caskroom/flutter/latest/flutter/.pub-cache/bin:/usr/local/Caskroom/flutter/latest/flutter/bin/cache/dart-sdk/bin
  9. Restart terminal

  10. 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):

    sdkmanager "platform-tools" "cmdline-tools" "platforms;android-29" "build-tools;29.0.3"
    sdkmanager "extras;android;m2repository" "extras;google;m2repository"
    sdkmanager "emulator" "patcher;v4" "tools"
    sdkmanager "system-images;android-29;google_apis_playstore;x86_64"
  11. Create AVD:

    avdmanager create avd -n PixelXL -k "system-images;android-29;google_apis_playstore;x86_64" -d 19
  12. Upgrade Flutter:

    flutter channel beta
    flutter upgrade
  13. Run flutter doctor (do what it tells you)

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