FROM ghcr.io/maplibre/android-base WORKDIR /android/sdk # Install Android SDK # Use most recent version from https://developer.android.com/studio/index.html#command-tools # and update the checksum. RUN set -eu \ && curl -L --retry 3 https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip -o tools.zip \ && (echo "f10f9d5bca53cc27e2d210be2cbc7c0f1ee906ad9b868748d74d62e10f2c8275 tools.zip" | sha256sum -c) \ && unzip -q tools.zip && rm tools.zip # Install Android NDK # Use desired version from https://developer.android.com/ndk/downloads/index.html # and update the checksum. RUN set -eu \ && curl -L --retry 3 https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip -o ndk.zip \ && (echo "afc9c0b9faad222898ac8168c78ad4ccac8a1b5c ndk.zip" | sha1sum -c) \ && unzip -q ndk.zip && rm ndk.zip && mv android-ndk-r* ndk-bundle # Install dependencies and build tools RUN set -eu \ && mkdir -p "${ANDROID_HOME}/licenses" \ && echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "${ANDROID_HOME}/licenses/android-sdk-license" \ && tools/bin/sdkmanager \ "--sdk_root=${ANDROID_HOME}" \ "platform-tools" \ "platforms;android-29" \ "build-tools;29.0.2" \ "build-tools;29.0.3" \ "platforms;android-28" \ "build-tools;28.0.3" \ "extras;android;m2repository" \ "patcher;v4" \ "extras;google;m2repository" \ "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" \ "cmake;3.10.2.4988404" \ && rm -rf "${ANDROID_HOME}/licenses" WORKDIR /src