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