# Build environment for the Android APK (Issue #45): fixed versions of the JDK, Android SDK, # NDK and Rust, so that the APK can be built the same way anywhere. # Used by scripts/build-apk-container.sh (podman or docker). FROM docker.io/library/ubuntu:24.04 ARG RUST_VERSION=1.99.0 RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ ca-certificates curl unzip zip openjdk-17-jdk-headless build-essential pkg-config \ && rm -rf /var/lib/apt/lists/* ENV ANDROID_HOME=/opt/android-sdk \ RUSTUP_HOME=/opt/rustup \ CARGO_HOME=/opt/cargo \ PATH=/opt/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin COPY scripts/setup-android-sdk.sh /tmp/setup-android-sdk.sh RUN /tmp/setup-android-sdk.sh && rm /tmp/setup-android-sdk.sh RUN curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal \ --default-toolchain "${RUST_VERSION}" --target aarch64-linux-android \ && chmod -R a+rwX /opt/cargo /opt/rustup WORKDIR /src