|
| 1 | +#!/usr/bin/env bash |
| 2 | +# Copyright 2022-2023, Collabora, Ltd. and the Monado contributors |
| 3 | +# |
| 4 | +# SPDX-License-Identifier: BSL-1.0 |
| 5 | + |
| 6 | +# Partially inspired by https://about.gitlab.com/blog/2018/10/24/setting-up-gitlab-ci-for-android-projects/ |
| 7 | +# and based on https://gitlab.freedesktop.org/monado/monado/-/blob/9ad98815bbc291f96c092b7aad2943ad567d65b4/.gitlab-ci/install-android-sdk.sh |
| 8 | + |
| 9 | +set -eo pipefail |
| 10 | +# These normally come from the environment but we have defaults |
| 11 | +ANDROID_CLI_TOOLS=${ANDROID_CLI_TOOLS:-9477386} |
| 12 | +ANDROID_COMPILE_SDK=${ANDROID_COMPILE_SDK:-32} |
| 13 | +ANDROID_BUILD_TOOLS=${ANDROID_BUILD_TOOLS:-32.0.0} |
| 14 | +ANDROID_NDK_VERSION=${ANDROID_NDK_VERSION:-25.2.9519653} |
| 15 | +ANDROID_CMAKE_VERSION=${ANDROID_CMAKE_VERSION:-3.22.1} |
| 16 | +ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT:-/opt/android-sdk} |
| 17 | + |
| 18 | +mkdir -p "$ANDROID_SDK_ROOT" |
| 19 | +FN=commandlinetools-linux-${ANDROID_CLI_TOOLS}_latest.zip |
| 20 | +wget https://dl.google.com/android/repository/$FN |
| 21 | +unzip "$FN" -d "$ANDROID_SDK_ROOT/extract" |
| 22 | +mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" |
| 23 | +mv "$ANDROID_SDK_ROOT/extract/cmdline-tools/" "$ANDROID_SDK_ROOT/cmdline-tools/latest/" |
| 24 | +mv "$ANDROID_SDK_ROOT/extract/" "$ANDROID_SDK_ROOT/cmdline-tools/" |
| 25 | + |
| 26 | +SDKMANAGER=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager |
| 27 | + |
| 28 | +set +o pipefail |
| 29 | +yes | $SDKMANAGER --licenses |
| 30 | +set -o pipefail |
| 31 | + |
| 32 | +echo "Installing the Android compile SDK platform android-${ANDROID_COMPILE_SDK}" |
| 33 | +echo y | $SDKMANAGER "platforms;android-${ANDROID_COMPILE_SDK}" >> /dev/null |
| 34 | + |
| 35 | +echo "Installing the latest Android platform tools" |
| 36 | +echo y | $SDKMANAGER "platform-tools" >> /dev/null |
| 37 | + |
| 38 | +echo "Installing the Android NDK ${ANDROID_NDK_VERSION}" |
| 39 | +echo y | $SDKMANAGER "ndk;${ANDROID_NDK_VERSION}" >> /dev/null |
| 40 | + |
| 41 | +echo "Installing CMake ${ANDROID_CMAKE_VERSION}" |
| 42 | +echo y | $SDKMANAGER "cmake;${ANDROID_CMAKE_VERSION}" >> /dev/null |
| 43 | + |
| 44 | +echo "Installing the Android 'patcher'" |
| 45 | +echo y | $SDKMANAGER "patcher;v4" >> /dev/null |
| 46 | + |
| 47 | +echo "Installing the Android build tools ${ANDROID_BUILD_TOOLS}" |
| 48 | +echo y | $SDKMANAGER "build-tools;${ANDROID_BUILD_TOOLS}" >> /dev/null |
| 49 | + |
| 50 | +rm -rf "${ANDROID_SDK_ROOT}/.temp" "${ANDROID_SDK_ROOT}/.knownPackages" |
0 commit comments