From 02a400b6cc74178b1af716e30a1d5f86cd4b14f7 Mon Sep 17 00:00:00 2001 From: Sebastian Messingfeld Date: Fri, 3 Jul 2026 22:30:01 +0200 Subject: [PATCH] Updates to build tools 36.1.0 - Android cmdline-tools 15641748 (SHA-256 verified) - build-tools 36.1.0 / 35.0.1, platforms android-36 / android-35 - OpenJDK 17 -> 21, Gradle 8.3 -> 9.6.1 - Fixes legacy ENV syntax and broken pkg-config line continuation - Bumps actions/checkout to v7 and docker/login-action to v4 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015ndjGz2Ug42YwrSnkTLsCH --- .github/workflows/pull-request.yaml | 4 ++-- .github/workflows/release.yaml | 4 ++-- .github/workflows/staging.yaml | 4 ++-- Dockerfile | 28 ++++++++++++++-------------- README.md | 17 ++++++++--------- packages.txt | 11 +++++------ 6 files changed, 33 insertions(+), 35 deletions(-) diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml index 57182e6..c4d32de 100644 --- a/.github/workflows/pull-request.yaml +++ b/.github/workflows/pull-request.yaml @@ -10,9 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v7 - name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8dd1cfe..0a7e968 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v7 - name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/.github/workflows/staging.yaml b/.github/workflows/staging.yaml index 7e23ce2..78c1b15 100644 --- a/.github/workflows/staging.yaml +++ b/.github/workflows/staging.yaml @@ -10,9 +10,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v7 - name: Login to Docker Hub - uses: docker/login-action@v2 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/Dockerfile b/Dockerfile index d6010fb..674ffc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,31 +4,31 @@ LABEL maintainer="messeb" # Command line tools only # https://developer.android.com/studio/index.html -ENV ANDROID_SDK_TOOLS_VERSION 11076708 -ENV ANDROID_SDK_TOOLS_CHECKSUM 2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258 +ENV ANDROID_SDK_TOOLS_VERSION="15641748" +ENV ANDROID_SDK_TOOLS_CHECKSUM="a66d5ef0238fc0162e9c1446602ce0dd41702d4dd7a94d2ce42d12b7f80baf7e" -ENV GRADLE_VERSION 8.3 +ENV GRADLE_VERSION="9.6.1" -ENV ANDROID_HOME "/opt/android-sdk-linux" -ENV ANDROID_SDK_ROOT $ANDROID_HOME -ENV PATH $PATH:$ANDROID_HOME/cmdline-tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools +ENV ANDROID_HOME="/opt/android-sdk-linux" +ENV ANDROID_SDK_ROOT="$ANDROID_HOME" +ENV PATH="$PATH:$ANDROID_HOME/cmdline-tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools" ENV DEBIAN_FRONTEND=noninteractive -ENV LANG en_US.UTF-8 +ENV LANG="en_US.UTF-8" # Add base environment RUN apt-get -qq update \ && apt-get -qqy --no-install-recommends install \ apt-utils \ build-essential \ - openjdk-17-jdk \ - openjdk-17-jre-headless \ + openjdk-21-jdk \ + openjdk-21-jre-headless \ software-properties-common \ libssl-dev \ libffi-dev \ python3-dev \ cargo \ - pkg-config\ + pkg-config \ libstdc++6 \ libpulse0 \ libglu1-mesa \ @@ -39,7 +39,7 @@ RUN apt-get -qq update \ lldb \ git > /dev/null \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* - + # Download and unzip Android SDK Tools RUN curl -s https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS_VERSION}_latest.zip > /tools.zip \ && echo "$ANDROID_SDK_TOOLS_CHECKSUM ./tools.zip" | sha256sum -c \ @@ -52,17 +52,17 @@ RUN mkdir -p $ANDROID_HOME/licenses/ \ && echo "84831b9409646a918e30573bab4c9c91346d8abd\n504667f4c0de7af1a06de9f4b1727b84351f2910" > $ANDROID_HOME/licenses/android-sdk-preview-license --licenses \ && yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --licenses --sdk_root=${ANDROID_SDK_ROOT} -# Add folder for SDK files +# Add folder for SDK files RUN mkdir -p /home/mobiledevops/.android \ && mkdir -p /home/mobiledevops/app \ && touch /home/mobiledevops/.android/repositories.cfg -ENV HOME /home/mobiledevops +ENV HOME="/home/mobiledevops" WORKDIR $HOME/app # Install SDKMAN RUN curl -s "https://get.sdkman.io" | bash -SHELL ["/bin/bash", "-c"] +SHELL ["/bin/bash", "-c"] # Install Android packages ADD packages.txt $HOME diff --git a/README.md b/README.md index 1dbbee3..7267615 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,12 @@ # Docker image for Android SDK Docker image to build an Android app `*.apk`. -The image contains the latest [Android SDK tools](https://developer.android.com/studio#cmdline-tools), [Gradle 8.2](https://developer.android.com/build/releases/gradle-plugin) and the Android SDK platform packages from [packages.txt](packages.txt): +The image contains the latest [Android SDK tools](https://developer.android.com/studio#cmdline-tools), [Gradle 9.6.1](https://gradle.org/releases/) and the Android SDK platform packages from [packages.txt](packages.txt): -* build-tools;34.0.0 -* build-tools;33.0.2 -* platforms;android-34 -* platforms;android-34-ext8 -* platforms;android-33 +* build-tools;36.1.0 +* build-tools;35.0.1 +* platforms;android-36 +* platforms;android-35 * platform-tools * extras;android;m2repository * extras;google;google_play_services @@ -34,7 +33,7 @@ version: 2.1 jobs: build: docker: - - image: mobiledevops/android-sdk-image:34.0.0 + - image: mobiledevops/android-sdk-image:36.1.0 steps: - checkout - run: @@ -61,7 +60,7 @@ services: - docker env: - - DOCKER_IMAGE=mobiledevops/android-sdk-image:34.0.0 + - DOCKER_IMAGE=mobiledevops/android-sdk-image:36.1.0 before_install: - docker pull $DOCKER_IMAGE @@ -83,7 +82,7 @@ Example: ``` # .gitlab-ci.yml -image: mobiledevops/android-sdk-image:34.0.0 +image: mobiledevops/android-sdk-image:36.1.0 stages: - build diff --git a/packages.txt b/packages.txt index a103ba9..829e459 100644 --- a/packages.txt +++ b/packages.txt @@ -1,10 +1,9 @@ -build-tools;34.0.0 -build-tools;33.0.2 -platforms;android-34 -platforms;android-34-ext8 -platforms;android-33 +build-tools;36.1.0 +build-tools;35.0.1 +platforms;android-36 +platforms;android-35 platform-tools extras;android;m2repository extras;google;google_play_services extras;google;m2repository -add-ons;addon-google_apis-google-24 \ No newline at end of file +add-ons;addon-google_apis-google-24