FROM rust:1.84

RUN apt-get update && apt-get install -y -qq python3 git python3-requests openjdk-17-jre

# SETUP RUST ENVIRONMENT
RUN rustup target add aarch64-linux-android
RUN cargo install cargo-ndk@3.5.4 --locked
ENV RUSTFLAGS="-C link-args=-Wl,--build-id=none"

# SETUP ANDROID ENVIRONMENT
ARG NDK_VERSION="26.1.10909125"
ARG BUILD_TOOLS_VERSION="34.0.0"
ARG PLATFORM_TOOLS_VERSION="35.0.2"
ARG PLATFORMS_VERSION="android-34"

RUN git clone "https://gitlab.com/fdroid/sdkmanager" && \
  cd sdkmanager && \
  python3 sdkmanager.py --install "ndk;$NDK_VERSION" && \
  python3 sdkmanager.py --install "build-tools;$BUILD_TOOLS_VERSION" && \
  python3 sdkmanager.py --install "platform-tools;$PLATFORM_TOOLS_VERSION" && \
  python3 sdkmanager.py --install "platforms;$PLATFORMS_VERSION" && \
  yes | python3 sdkmanager.py --licenses

ENV ANDROID_NDK_HOME="/opt/android-sdk/ndk/$NDK_VERSION/"
ENV ANDROID_HOME="/opt/android-sdk/"
ENV ANDROID_BUILD_TOOLS="/opt/android-sdk/build-tools/$BUILD_TOOLS_VERSION"
