Note, most of my Android development is React Native based, so YMMV.
- Homebrew
- Xcode (installed from App store)
- Xcode command line tools (
xcode-select --install
)
brew install gradle
brew cask install adoptopenjdk8 adoptopenjdk8-jre intel-haxm android-sdk android-ndk
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"
export ANDROID_NDK_ROOT="/usr/local/share/android-ndk"
export PATH=$ANDROID_SDK_ROOT/emulator:$PATH:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/build-tools/28.0.3
# add this empty file (macOS will complain that it doesnt exist)
touch ~/.android/repositories.cfg
# accept the sdkmanager licenses
yes | sdkmanager --licenses
# run updates
sdkmanager --update
# install packages
sdkmanager --install emulator
sdkmanager --install platform-tools
sdkmanager --install 'system-images;android-29;google_apis_playstore;x86_64'
sdkmanager --install 'build-tools;29.0.2' # pick your version, this is what's used in react native >=0.60
sdkmanager --install 'platforms;android-29'
# show all potential emulators
avdmanager list
# create an emulator
avdmanager create avd -f -n EMU_NAME -d ID_NUMBER -k 'system-images;android-29;google_apis_playstore;x86_64'
# view all created avds
avdmanager list avd
# run an emulator
emulator @EMU_NAME
# delete an avd
avdmanager delete avd -n EMU_NAME
Protip: enable physical keyboard on all emulators: for f in ~/.android/avd/*.avd/config.ini; do echo 'hw.keyboard=yes' >> "$f"; done
Android-sdk is deprecated, you should now use the command line tools package.
Strangely, I can't find any homebrew package for it.
Windows users are more lucky, there is a scoop package available.
https://github.com/ScoopInstaller/Main/blob/master/bucket/android-clt.json
You can check my archlinux post installation script here to understand the new command line tools.
https://github.com/lanzorg/anarch/blob/master/anarch.sh#L156