android-rust (latest)
Published 2026-10-24 17:04:11 +02:00 by mug
Installation
docker pull git.petal.cafe/mug/android-rust:latestsha256:f894e4df8aa89fb11948c49870aec254f866ee678bccf3687a6a8e9bd9883b34About this package
Android SDK and NDK, JDK, Rust with the Android targets, cargo-ndk and Node, for CI
Image layers
| # debian.sh --arch 'amd64' out/ 'bookworm' '@1792531975' |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit |
| ENV NODE_VERSION=22.23.4 |
| RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit |
| ENV YARN_VERSION=1.22.22 |
| RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && yarn --version && rm -rf /tmp/* # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/ # buildkit |
| ENTRYPOINT ["docker-entrypoint.sh"] |
| CMD ["node"] |
| ARG JDK_MAJOR |
| ARG ANDROID_API JDK_MAJOR |
| ARG ANDROID_API JDK_MAJOR NDK_VERSION |
| ARG ANDROID_API BUILD_TOOLS JDK_MAJOR NDK_VERSION |
| ARG ANDROID_API BUILD_TOOLS CMDLINE_TOOLS JDK_MAJOR NDK_VERSION |
| ARG ANDROID_API BUILD_TOOLS CARGO_NDK CMDLINE_TOOLS JDK_MAJOR NDK_VERSION |
| ARG ANDROID_API BUILD_TOOLS CARGO_NDK CMDLINE_TOOLS JDK_MAJOR NDK_VERSION RUST_TARGETS |
| ENV JDK_MAJOR=$JDK_MAJOR ANDROID_API=$ANDROID_API NDK_VERSION=$NDK_VERSION BUILD_TOOLS=$BUILD_TOOLS CARGO_NDK_VERSION=$CARGO_NDK JAVA_HOME=/opt/jdk ANDROID_HOME=/opt/android-sdk ANDROID_SDK_ROOT=/opt/android-sdk ANDROID_NDK_HOME=/opt/android-sdk/ndk/$NDK_VERSION RUSTUP_HOME=/opt/rustup CARGO_HOME=/opt/cargo |
| ENV PATH=/opt/cargo/bin:/opt/jdk/bin:/opt/android-sdk/cmdline-tools/latest/bin:$PATH |
| |10 ANDROID_API=37 BUILD_TOOLS=36.0.0 CARGO_NDK=4.1.2 CMDLINE_TOOLS=11076708 JDK_MAJOR=25 NDK_VERSION=27.2.12479018 RUST_TARGETS=aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android /bin/sh -c mkdir -p /opt/jdk && curl -sSfL "https://api.adoptium.net/v3/binary/latest/${JDK_MAJOR}/ga/linux/x64/jdk/hotspot/normal/eclipse" | tar -xz --strip-components=1 -C /opt/jdk |
| |10 ANDROID_API=37 BUILD_TOOLS=36.0.0 CARGO_NDK=4.1.2 CMDLINE_TOOLS=11076708 JDK_MAJOR=25 NDK_VERSION=27.2.12479018 RUST_TARGETS=aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android /bin/sh -c mkdir -p /opt/android-sdk/cmdline-tools && curl -sSfL -o /tmp/cmdline-tools.zip "https://dl.google.com/android/repository/commandlinetools-linux-${CMDLINE_TOOLS}_latest.zip" && unzip -q /tmp/cmdline-tools.zip -d /opt/android-sdk/cmdline-tools && mv /opt/android-sdk/cmdline-tools/cmdline-tools /opt/android-sdk/cmdline-tools/latest && rm /tmp/cmdline-tools.zip && yes | sdkmanager --licenses >/dev/null && sdkmanager "platforms;android-${ANDROID_API}.0" "ndk;${NDK_VERSION}" "build-tools;${BUILD_TOOLS}" |
| |10 ANDROID_API=37 BUILD_TOOLS=36.0.0 CARGO_NDK=4.1.2 CMDLINE_TOOLS=11076708 JDK_MAJOR=25 NDK_VERSION=27.2.12479018 RUST_TARGETS=aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android /bin/sh -c curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable -c clippy -c rustfmt && rustup target add ${RUST_TARGETS} |
| |10 ANDROID_API=37 BUILD_TOOLS=36.0.0 CARGO_NDK=4.1.2 CMDLINE_TOOLS=11076708 JDK_MAJOR=25 NDK_VERSION=27.2.12479018 RUST_TARGETS=aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android /bin/sh -c curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash && rustup target add x86_64-unknown-linux-musl && cargo binstall --no-confirm --locked --targets x86_64-unknown-linux-musl cargo-ndk@${CARGO_NDK} && rm -rf /opt/cargo/registry /opt/cargo/git |
| |10 ANDROID_API=37 BUILD_TOOLS=36.0.0 CARGO_NDK=4.1.2 CMDLINE_TOOLS=11076708 JDK_MAJOR=25 NDK_VERSION=27.2.12479018 RUST_TARGETS=aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android /bin/sh -c ln -s /opt/cargo/bin/* /usr/local/bin/ && ln -s /opt/jdk/bin/* /usr/local/bin/ && ln -s /opt/android-sdk/cmdline-tools/latest/bin/* /usr/local/bin/ |
| LABEL org.opencontainers.image.title="android-rust-builder" org.opencontainers.image.description="Android SDK and NDK, JDK, Rust with the Android targets, cargo-ndk and Node, for CI" |
Labels
| Key | Value |
|---|---|
| io.buildah.version | 1.43.4 |
| org.opencontainers.image.description | Android SDK and NDK, JDK, Rust with the Android targets, cargo-ndk and Node, for CI |
| org.opencontainers.image.title | android-rust-builder |
Annotations
| Key | Value |
|---|---|
| com.docker.official-images.bashbrew.arch | amd64 |
| org.opencontainers.image.base.digest | sha256:de636e50060a9908cf40a20a50d027ed74a99b2e31d2635f3b13e9e4e5e97e74 |
| org.opencontainers.image.base.name | docker.io/library/node:22-bookworm |
| org.opencontainers.image.created | 2026-10-24T15:03:56.800652139Z |
| org.opencontainers.image.revision | 80f02a542da739e6a662451d1db66456a0dea253 |
| org.opencontainers.image.source | https://github.com/nodejs/docker-node.git#80f02a542da739e6a662451d1db66456a0dea253:22/bookworm |
| org.opencontainers.image.url | https://hub.docker.com/_/node |
| org.opencontainers.image.version | 22 |
Details
2026-10-24 17:04:11 +02:00
2026-10-24 17:11:10 +02:00
Versions (3)
View all
Container
2
OCI / Docker
linux/amd64
1.9 GiB
latest
2026-10-24
jdk25-api37-ndk27.2.12479018-r2
2026-10-24
jdk25-api37-ndk27.2.12479018
2026-10-24