├── Dockerfile └── README.md /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM openjdk:11 2 | 3 | MAINTAINER Dmitry Karikh 4 | 5 | # Install Git and dependencies 6 | RUN dpkg --add-architecture i386 \ 7 | && apt-get update \ 8 | && apt-get install -y file git curl zip libncurses5:i386 libstdc++6:i386 zlib1g:i386 jq \ 9 | && apt-get clean \ 10 | && rm -rf /var/lib/apt/lists /var/cache/apt 11 | 12 | # Set up environment variables 13 | ENV ANDROID_SDK_ROOT="/home/user/android-sdk-linux" \ 14 | SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip" \ 15 | GRADLE_URL="https://services.gradle.org/distributions/gradle-7.5.1-bin.zip" 16 | 17 | # Create a non-root user 18 | RUN useradd -m user 19 | USER user 20 | WORKDIR /home/user 21 | 22 | # Download Android SDK 23 | RUN mkdir "$ANDROID_SDK_ROOT" .android \ 24 | && cd "$ANDROID_SDK_ROOT" \ 25 | && mkdir cmdline-tools \ 26 | && cd cmdline-tools \ 27 | && curl -o sdk.zip $SDK_URL \ 28 | && unzip sdk.zip \ 29 | && rm sdk.zip \ 30 | && mv cmdline-tools latest \ 31 | && cd .. \ 32 | && yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses 33 | 34 | # Install Gradle 35 | RUN wget $GRADLE_URL -O gradle.zip \ 36 | && unzip gradle.zip \ 37 | && mv gradle-7.5.1 gradle \ 38 | && rm gradle.zip \ 39 | && mkdir .gradle 40 | 41 | ENV PATH="/home/user/gradle/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}" 42 | 43 | ENTRYPOINT ["/bin/bash"] 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Android SDK for Docker [![](https://images.microbadger.com/badges/image/thedrhax/android-sdk.svg)](https://hub.docker.com/r/thedrhax/android-sdk) 2 | 3 | This image contains the latest versions of Android SDK and Gradle. Feel free to contribute ;) 4 | 5 | ## Examples 6 | 7 | ### Start a container and open the shell 8 | 9 | ``` 10 | docker run -it thedrhax/android-sdk bash 11 | ``` 12 | 13 | ### Build the project in current directory 14 | 15 | ``` 16 | docker run -it -v $(pwd):/home/user/project -w /home/user/project -u $(id -u):$(id -g) thedrhax/android-sdk gradle build 17 | ``` 18 | 19 | ### Persistent Android SDK and caches 20 | 21 | * `-v android-sdk:/home/user/android-sdk-linux` 22 | * `-v gradle-cache:/home/user/.gradle` 23 | * `-v android-cache:/home/user/.android` 24 | --------------------------------------------------------------------------------