Last active
May 6, 2024 15:37
-
-
Save faywong/8fc100bc117910df917c7c988db625b7 to your computer and use it in GitHub Desktop.
android ci docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# docker buildx build . -t sid/android_ci | |
# docker push registry.gitlab.com/szndev/ci-droid | |
FROM --platform=linux/amd64 openjdk:17-slim | |
ENV ANDROID_SDK_TOOLS 9477386 | |
ENV ANDROID_SDK_URL https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip | |
ENV ANDROID_BUILD_TOOLS_VERSION 33.0.0 | |
ENV NDK_VERSION 25.2.9519653 | |
ENV ANDROID_HOME /usr/local/android-sdk-linux | |
ENV ANDROID_VERSION 33 | |
ENV GRADLE_HOME=/opt/gradle/gradle-8.6 | |
ENV PATH $PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/bin:$GRADLE_HOME/bin | |
# Set user to root for necessary permissions | |
USER root | |
# Install required packages | |
RUN apt-get update && \ | |
apt-get install -y --no-install-recommends unzip curl vim python3 && \ | |
mkdir "$ANDROID_HOME" .android && \ | |
cd "$ANDROID_HOME" && \ | |
curl -o sdk.zip $ANDROID_SDK_URL && \ | |
unzip sdk.zip && \ | |
rm sdk.zip && \ | |
# Download gradle 8.6 | |
curl -o gradle.bin.zip https://mirrors.cloud.tencent.com/gradle/gradle-8.6-bin.zip && \ | |
unzip -d /opt/gradle gradle.bin.zip && \ | |
# Download Android SDK | |
yes | sdkmanager --licenses --sdk_root=$ANDROID_HOME && \ | |
sdkmanager --update --sdk_root=$ANDROID_HOME && \ | |
sdkmanager --sdk_root=$ANDROID_HOME "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \ | |
"platforms;android-${ANDROID_VERSION}" \ | |
"ndk;${NDK_VERSION}"\ | |
"platform-tools" \ | |
"extras;android;m2repository" \ | |
"extras;google;m2repository" && \ | |
# Install Fastlane | |
apt-get install --no-install-recommends -y --allow-unauthenticated build-essential git ruby-full && \ | |
gem install rake && \ | |
gem install fastlane && \ | |
gem install bundler && \ | |
gem install screengrab && \ | |
# Clean up | |
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \ | |
apt-get autoremove -y && \ | |
apt-get clean |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment