Skip to content

Instantly share code, notes, and snippets.

@chamathabeysinghe
Last active November 7, 2017 16:57
Show Gist options
  • Save chamathabeysinghe/73124ed855d09b0b396b40bbb6b1a69c to your computer and use it in GitHub Desktop.
Save chamathabeysinghe/73124ed855d09b0b396b40bbb6b1a69c to your computer and use it in GitHub Desktop.
android docker file
FROM openjdk:8-jdk
CMD ["gradle"]
ENV GRADLE_HOME /opt/gradle
ENV ANDROID_HOME /opt/android
ENV GRADLE_VERSION 4.2.1
ARG GRADLE_DOWNLOAD_SHA256=b551cc04f2ca51c78dd14edb060621f0e5439bdfafa6fd167032a09ac708fbc0
COPY android.zip android.zip
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle \
\
&& echo "Adding gradle user and group" \
&& groupadd --system --gid 1000 gradle \
&& useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
&& mkdir /home/gradle/.gradle \
&& chown --recursive gradle:gradle /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln -s /home/gradle/.gradle /root/.gradle\
\
&& echo "Downloading Android SDK"\
&& wget --output-document=android.zip "https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip" \
\
&& echo "Installing Android SDK" \
&& unzip android.zip \
&& rm android.zip \
&& mkdir -p $ANDROID_HOME \
&& chmod -R 777 $ANDROID_HOME \
&& mv tools ${ANDROID_HOME} \
&& yes | .${ANDROID_HOME}/tools/bin/sdkmanager --licenses \
&& echo "Done downloading ANDROID"
# Create Gradle volume
USER gradle
VOLUME "/home/gradle/.gradle"
WORKDIR /home/gradle
RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment