Android:sdkmanager
Download script
#!/usr/bin/env bash
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" || exit; pwd)
ANDROID_SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip"
ANDROID_SDK_CHECKSUM="$ROOT_DIR/android.checksum"
ANDROID_SDK_DIST="$ROOT_DIR/commandlinetools-linux-9477386_latest.zip"
ANDROID_SDK_ROOT="$ROOT_DIR/android_sdk"
ANDROID_SDK_CMDLINE_TOOLS_DIR="$ANDROID_SDK_ROOT/cmdline-tools"
ANDROID_SDK_CMDLINE_TOOLS_LATEST_DIR="$ANDROID_SDK_ROOT/cmdline-tools/latest"
SDKMANAGER_CMD="$ANDROID_SDK_CMDLINE_TOOLS_LATEST_DIR/bin/sdkmanager"
function print_error
{
# shellcheck disable=SC2145
echo -e "\033[31m$@\033[0m" 1>&2
}
function print_message
{
# shellcheck disable=SC2145
echo -e "\033[32m$@\033[0m"
}
trap 'cancel_black' INT
function cancel_black
{
print_error "An interrupt signal was detected."
exit 1
}
function download_android_sdk
{
if [[ ! -f "$ANDROID_SDK_DIST" ]]; then
curl -o "$ANDROID_SDK_DIST" "$ANDROID_SDK_URL"
fi
if ! sha256sum -c "$ANDROID_SDK_CHECKSUM" &> /dev/null; then
print_error "Checksum error detected"
exit 1
fi
if [[ ! -d "$ANDROID_SDK_CMDLINE_TOOLS_DIR" ]]; then
mkdir -vp "$ANDROID_SDK_CMDLINE_TOOLS_DIR"
fi
if [[ ! -d "$ANDROID_SDK_CMDLINE_TOOLS_LATEST_DIR" ]]; then
echo "Unzip '$ANDROID_SDK_DIST' ..."
unzip -q "$ANDROID_SDK_DIST" -d "$ANDROID_SDK_CMDLINE_TOOLS_DIR"
mv -v "$ANDROID_SDK_CMDLINE_TOOLS_DIR/cmdline-tools" "$ANDROID_SDK_CMDLINE_TOOLS_LATEST_DIR"
fi
if [[ ! -x "$SDKMANAGER_CMD" ]]; then
print_error "Not found sdkmanager executable"
exit 1
fi
yes | "$SDKMANAGER_CMD" --licenses > /dev/null
"$SDKMANAGER_CMD" 'ndk;25.2.9519653'
}
download_android_sdk
See also
Favorite site