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