b7abd561f5
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
42 lines
1.5 KiB
Bash
Executable file
42 lines
1.5 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Installs the latest command line tools and sets up the necessary packages for an Android emulator
|
|
# for API level $ANDROID_API_LEVEL, or API 30 if unspecified.
|
|
|
|
set -euo pipefail
|
|
|
|
CMDLINE_TOOLS_URL_MAC="https://dl.google.com/android/repository/commandlinetools-mac-7583922_latest.zip"
|
|
CMDLINE_TOOLS_URL_LINUX="https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip"
|
|
|
|
[ -n "${ANDROID_SDK_ROOT:-}" ] || {
|
|
echo "ANDROID_SDK_ROOT must be set to use this script"
|
|
exit
|
|
1
|
|
}
|
|
|
|
if [ "$(uname)" == "Linux" ]; then
|
|
wget "${CMDLINE_TOOLS_URL_LINUX}" -O /tmp/tools.zip -o /dev/null
|
|
elif [ "$(uname)" == "Darwin" ]; then
|
|
wget "${CMDLINE_TOOLS_URL_MAC}" -O /tmp/tools.zip -o /dev/null
|
|
else
|
|
echo "This script only works on Linux and Mac"
|
|
exit 1
|
|
fi
|
|
|
|
[ -n "${ANDROID_API_LEVEL:-}" ] || { echo "ANDROID_API_LEVEL not defined; defaulting to 30"; }
|
|
|
|
API_LEVEL="${ANDROID_API_LEVEL:-30}"
|
|
|
|
unzip -qo /tmp/tools.zip -d "${ANDROID_SDK_ROOT}/latest"
|
|
mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools"
|
|
if [ -d "${ANDROID_SDK_ROOT}/cmdline-tools" ]; then
|
|
rm -rf "${ANDROID_SDK_ROOT}/cmdline-tools"
|
|
fi
|
|
mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools"
|
|
mv -v "${ANDROID_SDK_ROOT}/latest/cmdline-tools" "${ANDROID_SDK_ROOT}/cmdline-tools/latest"
|
|
|
|
export PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${PATH}"
|
|
|
|
sdkmanager --install 'build-tools;30.0.3' platform-tools "platforms;android-${API_LEVEL}"
|
|
sdkmanager --install emulator
|
|
sdkmanager --install "system-images;android-${API_LEVEL};google_apis;x86"
|