flutter-android-ci (latest)
Published 2025-10-21 19:22:41 +02:00 by alexandrump
Installation
docker pull git.thax.es/alexandrump/flutter-android-ci:latestsha256:45f291e00b48454db5a61ba15ca32cc2d802d3d7159cd97db308b093401c66f0About this package
Android NDK OCI image including CMake based on Alpine Linux
Image Layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:6df775300d76441aa33f31b22c1afce8dfe35c8ffbc14ef27c27009235b12a95 in / |
| CMD ["/bin/bash"] |
| ENV JAVA_HOME=/opt/java/openjdk |
| ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 |
| RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget gnupg fontconfig ca-certificates p11-kit binutils tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit |
| ENV JAVA_VERSION=jdk-23.0.2+7 |
| RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='870ac8c05c6fe563e7a3878a47d0234b83c050e83651d2c47e8b822ec74512dd'; BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_x64_linux_hotspot_23.0.2_7.tar.gz'; ;; arm64) ESUM='fb43ae1202402842559cb6223886ec1663b90ffbec48479abbcb92c92c9012eb'; BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_aarch64_linux_hotspot_23.0.2_7.tar.gz'; ;; ppc64el) ESUM='548fd82af4eb0802fe20b0b61a4664a69c7f03cd963540908f30dbf73636dafe'; BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_ppc64le_linux_hotspot_23.0.2_7.tar.gz'; ;; riscv64) ESUM='1e102e1e6653f8810ef6c275b0d38ea7036abd4a8709f0f916b339f65e76bb56'; BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_riscv64_linux_hotspot_23.0.2_7.tar.gz'; ;; s390x) ESUM='591ccf4d27016315700cc9cc979f7cf343900b6bee1b0b45c93f2c5f946e5aac'; BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_s390x_linux_hotspot_23.0.2_7.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit |
| RUN /bin/sh -c set -eux; echo "Verifying install ..."; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; echo "javac --version"; javac --version; echo "java --version"; java --version; echo "Complete." # buildkit |
| COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit |
| ENTRYPOINT ["/__cacert_entrypoint.sh"] |
| CMD ["jshell"] |
| ARG android=35 |
| ARG jdk=23.0.2_7 |
| LABEL maintainer=Sascha Peilicke <sascha@peilicke.de |
| LABEL description=Android SDK 35 using JDK 23.0.2_7 |
| ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux |
| ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/android-sdk-linux/cmdline-tools/latest/bin:/opt/android-sdk-linux/platform-tools:/opt/android-sdk-linux/emulator |
| RUN |2 android=35 jdk=23.0.2_7 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl git git-lfs gnupg openssl unzip # buildkit |
| RUN |2 android=35 jdk=23.0.2_7 /bin/sh -c curl -s https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -o /tmp/tools.zip && unzip -q /tmp/tools.zip -d /tmp && yes | /tmp/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --licenses && /tmp/cmdline-tools/bin/sdkmanager --sdk_root="${ANDROID_SDK_ROOT}" --install "cmdline-tools;latest" && rm -r /tmp/tools.zip /tmp/cmdline-tools # buildkit |
| RUN |2 android=35 jdk=23.0.2_7 /bin/sh -c adduser nonroot && chown nonroot:nonroot -R "${ANDROID_SDK_ROOT}" # buildkit |
| USER nonroot |
| RUN |2 android=35 jdk=23.0.2_7 /bin/sh -c mkdir -p /home/nonroot/.android/ && touch /home/nonroot/.android/repositories.cfg # buildkit |
| RUN |2 android=35 jdk=23.0.2_7 /bin/sh -c yes | sdkmanager --licenses >/dev/null && sdkmanager --install "platforms;android-${android}" "platform-tools" # buildkit |
| ARG android=35 |
| ARG cmake=3.31.5 |
| ARG jdk=23.0.2_7 |
| ARG ndk=28.0.13004108 |
| LABEL maintainer=Sascha Peilicke <sascha@peilicke.de |
| LABEL description=Android NDK 28.0.13004108 with CMake 3.31.5 on SDK 35 using JDK 23.0.2_7 |
| USER nonroot |
| ENV NDK_ROOT=/opt/android-sdk-linux/ndk/28.0.13004108 |
| RUN |4 android=35 cmake=3.31.5 jdk=23.0.2_7 ndk=28.0.13004108 /bin/sh -c sdkmanager --install "cmake;${cmake}" "ndk;${ndk}" # buildkit |
| LABEL maintainer=Alejandro Martínez Peregrina <alex@thax.es> |
| LABEL description=Imagen optimizada para Traelo (Flutter + Android SDK + NDK + CMake) |
| ENV FLUTTER_VERSION=3.24.4 FLUTTER_HOME=/opt/flutter PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/android-sdk-linux/cmdline-tools/latest/bin:/opt/android-sdk-linux/platform-tools:/opt/android-sdk-linux/emulator:/opt/flutter/bin:/opt/flutter/bin/cache/dart-sdk/bin |
| USER root |
| RUN /bin/sh -c apt-get update && apt-get install -y curl git unzip xz-utils zip libglu1-mesa && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c git clone https://github.com/flutter/flutter.git -b stable ${FLUTTER_HOME} && flutter doctor -v && yes | flutter doctor --android-licenses # buildkit |
| RUN /bin/sh -c flutter precache --android --no-ios --no-linux --no-windows --no-macos && flutter pub cache repair # buildkit |
| WORKDIR /app |
| RUN /bin/sh -c flutter --version && echo "✅ Imagen lista: Flutter 3.24 + Android SDK + NDK + CMake" # buildkit |
| ENTRYPOINT ["/bin/bash"] |
Labels
| Key | Value |
|---|---|
| description | Imagen optimizada para Traelo (Flutter + Android SDK + NDK + CMake) |
| maintainer | Alejandro Martínez Peregrina <alex@thax.es> |
| org.opencontainers.image.created | 2025-03-03T13:56:27.511Z |
| org.opencontainers.image.description | Android NDK OCI image including CMake based on Alpine Linux |
| org.opencontainers.image.licenses | Apache-2.0 |
| org.opencontainers.image.ref.name | ubuntu |
| org.opencontainers.image.revision | 406829a03b0ef7ece8a290285b74cd0d4c309096 |
| org.opencontainers.image.source | https://github.com/saschpe/docker-android-ndk |
| org.opencontainers.image.title | docker-android-ndk |
| org.opencontainers.image.url | https://github.com/saschpe/docker-android-ndk |
| org.opencontainers.image.version | 35-jdk23.0.2_7-ndk28.0.13004108-cmake3.31.5 |