Hi, I am a fork from https://gist.github.com/patrickhammond/4ddbe49a67e5eb1b9c03.
A high level overview for what I need to do to get most of an Android environment setup and maintained on OSX higher Catalina and Big Sur with and without Android Studio been installed.
Considering the SDK is installed under /Users/<your_user>/Library/Android/sdk folder which is the Android Studio preferred SDK location, but it works fine under /usr/local/share/android-sdk as well, which is a location pretty much used on CI mostly.
https://github.com/shyiko/jabba instead ?
See for brew, python3 and NodeJS on nvm see gist https://gist.github.com/agrcrobles/3d945b165871c355b6f169c317958e3e
Open JDK 14 works fine with gradle 6.x
Preferred: To install the JDKs 8 ( LTS ) AdoptOpenJDK:
# brew tap adoptopenjdk/openjdk via cask
brew install adoptopenjdk/openjdk/adoptopenjdk8
Alternative: Do not follow this step if followed the step before
brew install java8
Be sure JAVA_HOME is exported on your bash profile or zshrc depending the shell in usage.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
See https://developer.android.com/studio/intro/update#sdk-manager
From https://stackoverflow.com/questions/64312200/android-sdk-has-been-officially-discontinued-upstream
If you don't want the full android-studio development app (Intellij IDE, etc) and just want the new command line tools...
Per the discontinuation notice...
This SDK Tools package is deprecated and no longer receiving updates. Instead, please use the new command-line tools package.
A quick search reveals that in homebrew land, this new "command-line tools" package is called android-commandlinetools.
$ brew install android-commandlinetools
==> Installing Cask android-commandlinetools
==> Moving Generic Artifact 'cmdline-tools' to '/usr/local/share/android-command
==> Linking Binary 'avdmanager' to '/usr/local/bin/avdmanager'
==> Linking Binary 'lint' to '/usr/local/bin/lint'
==> Linking Binary 'retrace' to '/usr/local/bin/retrace'
==> Linking Binary 'screenshot2' to '/usr/local/bin/screenshot2'
==> Linking Binary 'sdkmanager' to '/usr/local/bin/sdkmanager'
==> Linking Binary 'apkanalyzer' to '/usr/local/bin/apkanalyzer'
🍺 android-commandlinetools was successfully installed!
Or try Command line tools | Android
Use Command line tools or SDK Manager
Quick reminder: Have as many build tools as you want, have a single one platform tool with backwards compatibility :=)
Download and Install Command line tools for mac ( not the android studio unless I need it )
https://developer.android.com/studio#cmdline-tools
https://developer.android.com/studio/command-line
https://developer.android.com/studio/command-line/sdkmanager
Use Homebrew to install Android dev tools: Note that Java8 is tricky since licence changed: https://stackoverflow.com/questions/24342886/how-to-install-java-8-on-mac
brew install gradle
brew remove android-sdk
==> Installing dependencies for gradle: openjdk
==> Installing gradle dependency: openjdk
==> Pouring openjdk--18.0.1.monterey.bottle.tar.gz
🍺 /usr/local/Cellar/openjdk/18.0.1: 641 files, 307.7MB
==> Installing gradle
==> Pouring gradle--7.4.2.all.bottle.tar.gz
🍺 /usr/local/Cellar/gradle/7.4.2: 11,257 files, 267.8MB
==> Running `brew cleanup gradle`...
Optional
brew install ant
brew install maven
brew cask install android-ndk
https://developer.android.com/studio#cmdline-tools
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):
If you need to have openjdk first in your PATH run: echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc
For compilers to find openjdk you may need to set: export CPPFLAGS="-I/usr/local/opt/openjdk/include"
Be sure Intel Hardware Accelerated Execution Manager (HAXM) is properly installed.
HAXM is a cross-platform hardware-assisted virtualization engine (hypervisor), be sure HAXM is properly installed.
See https://developer.android.com/studio/run/emulator-acceleration
Create and run virtual devices? Nga copied from https://gist.github.com/gasolin/9300f5f9276b2df884c80da3e2c54ffc
avdmanager list (find device skin id, lets use pixel 17)
List the device definitions available:
avdmanager list
...
---------
id: 11 or "Nexus 6P"
Name: Nexus 6P
OEM : Google
---------
...
create a virtual device based on device definition "Nexus 6P"
~avdmanager create avd --force --name Nexus6P --abi google_apis/x86_64 --package 'system-images;android-23;google_apis;x86_64' --device "Nexus 6P"
avdmanager create avd -f -n test -d 17 -k 'system-images;android-29;google_apis_playstore;x86_64'
avdmanager list avd (or emulator -list-avds)
/usr/local/share/android-sdk/emulator/emulator -avd test
Error: Package path is not valid. Valid system image paths are:ository... null
sdk can be installed on /Library/Android/sdk or /usr/local/ to be sure check it by
macbookpro@Macbooks-MacBook-Pro ~ % which sdkmanager
/usr/local/bin/sdkmanager
macbookpro@Macbooks-MacBook-Pro ~ % sdkmanager --list
The packages argument is an SDK-style path as shown with the --list command, wrapped in quotes (for example, "build-tools;30.0.2" or "platforms;android-28"). You can pass multiple package paths, separated with a space, but they must each be wrapped in their own set of quotes.
For example, here's how to install the latest platform tools (which includes adb and fastboot) and the SDK tools for API level 28:
sdkmanager "platform-tools" "platforms;android-28"
Read terms and conditions
January 16, 2019
---------------------------------------
Accept? (y/N):
export ANDROID_HOME=$HOME/Library/Android/sdk
or
export ANDROID_HOME="/usr/local/share/android-sdk"
or
export ANDROID_HOME="$HOME/Library/Android/sdk"
or
export ANDROID_HOME="/usr/local/bin/sdkmanager"
All locations are valid ones from what I am aware of :)
Suggested: You will have to add the ANDROID_HOME to the profile configuration settings either on .zshrc, .bashrc or .bash_profile
If emulator
doesn't run, i am here to remind you to provide access into System Preferences - Security & Privacy
echo export "PATH=/Users/macbookpro/Library/Android/sdk/platform-tools:$PATH" >> ~/.zshenv
TODO
https://gist.github.com/HugoMatilla/f92682b06068b06a6f2a
https://stackoverflow.com/a/44172716/6716408
https://glacion.com/2019/04/06/AVD.html
Happy code!!
Opinions are my own
Here is an updated version of @gasolin
https://gist.github.com/cemo/02244e9c2c78e4ea7c285305c16411bf