build-environments/build-environment-android (sha256:3ec6d858097fcbaa5855ba3e7aeb5519fc418262f6530b3b382b364c4ec40f9f)

Published 2026-08-03 15:35:37 +02:00 by flaxeneel2 in streigen/build-environments

Installation

docker pull git.flaxeneel2.net/streigen/build-environments/build-environment-android@sha256:3ec6d858097fcbaa5855ba3e7aeb5519fc418262f6530b3b382b364c4ec40f9f
sha256:3ec6d858097fcbaa5855ba3e7aeb5519fc418262f6530b3b382b364c4ec40f9f

Image layers

# debian.sh --arch 'amd64' out/ 'trixie' '@1783900800'
LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust
ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo PATH=/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin RUST_VERSION=1.97.1
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates gcc libc6-dev wget ; arch="$(dpkg --print-architecture)"; case "$arch" in 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupSha256='4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10'; ;; 'armhf') rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='124e02253af9128f9e27ea1ac929cbb73cf44cf35469d0f594a1b62f7b71fea1'; ;; 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupSha256='9732d6c5e2a098d3521fca8145d826ae0aaa067ef2385ead08e6feac88fa5792'; ;; 'i386') rustArch='i686-unknown-linux-gnu'; rustupSha256='5140e82096f96d1d8077f00eb312648e0e5106d101c9918d086f72cbc69bb3a1'; ;; 'ppc64el') rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='4bfff85bd3967d988e14567aa9cc6ab0ea386f0ffeff0f9f14d23f0103bf1f97'; ;; 's390x') rustArch='s390x-unknown-linux-gnu'; rustupSha256='66c2c132428b6b77803facb02cbdf33b89d20c00bd20da142be8cb651f2e7cd8'; ;; 'riscv64') rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='7e43f2b2e6307d61da17a4dff61e6bceef408b8189822df64e1094590d2a70f9'; ;; *) echo >&2 "unsupported architecture: $arch"; exit 1; ;; esac; url="https://static.rust-lang.org/rustup/archive/1.29.0/${rustArch}/rustup-init"; wget --progress=dot:giga "$url"; echo "${rustupSha256} *rustup-init" | sha256sum -c -; chmod +x rustup-init; ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; rm rustup-init; chmod -R a+w $RUSTUP_HOME $CARGO_HOME; apt-get remove -y --auto-remove wget ; rm -rf /var/lib/apt/lists/*; rustup --version; cargo --version; rustc --version; # buildkit
ENV DEBIAN_FRONTEND=noninteractive
LABEL org.opencontainers.image.source=https://git.flaxeneel2.net/streigen/build-environments
RUN /bin/sh -c apt-get update && apt install curl build-essential git nodejs clang -y # buildkit
ENV DEBIAN_FRONTEND=noninteractive
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_JAR=/opt/android-sdk/platforms/android-36/android.jar
ENV ANDROID_NDK=/opt/android-sdk/ndk/30.0.14904198
RUN /bin/sh -c mkdir -p ${ANDROID_HOME} # buildkit
RUN /bin/sh -c apt-get update && apt-get install -y openjdk-21-jdk-headless gradle clang android-sdk sdkmanager unzip # buildkit
RUN /bin/sh -c yes | sdkmanager --sdk_root=${ANDROID_HOME} --licenses # buildkit
RUN /bin/sh -c sdkmanager --sdk_root=${ANDROID_HOME} "platform-tools" "platforms;android-36" "build-tools;36.0.0" "ndk;30.0.14904198" # buildkit
RUN /bin/sh -c rustup target add aarch64-linux-android x86_64-linux-android # buildkit
RUN /bin/sh -c cargo install cargo-ndk # buildkit
WORKDIR /app

Labels

Key Value
org.opencontainers.image.source https://git.flaxeneel2.net/streigen/build-environments
Details
Container
2026-08-03 15:35:37 +02:00
0
OCI / Docker
linux/amd64
1.9 GiB
Versions (4) View all
latest 2026-08-04
142c69403e 2026-08-04
251619e 2026-08-04
f766dd3 2026-08-04