Last active
April 25, 2020 23:47
-
-
Save singhangadin/f27dd055fd27906028d42cf8e7ca0ce7 to your computer and use it in GitHub Desktop.
Docker file for Android Tests
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
FROM openjdk:8-jdk | |
MAINTAINER Angad Singh <angads25@gmail.com> | |
CMD ["gradle"] | |
ENV GRADLE_HOME /opt/gradle | |
ENV GRADLE_VERSION 5.6.4 | |
ARG GRADLE_DOWNLOAD_SHA256=abc10bcedb58806e8654210f96031db541bcd2d6fc3161e81cb0572d6a15e821 | |
RUN set -o errexit -o nounset \ | |
&& echo "Downloading Gradle" \ | |
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.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 | |
RUN echo -e "org.gradle.daemon=true\n" >> ~/.gradle/gradle.properties | |
RUN echo -e "org.gradle.caching=true\n" >> ~/.gradle/gradle.properties | |
RUN echo -e "org.gradle.parallel=true\n" >> ~/.gradle/gradle.properties | |
RUN echo -e "org.gradle.configureondemand=true\n" >> ~/.gradle/gradle.properties | |
RUN echo -e "org.gradle.jvmargs=-Xmx1536m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n" >> ~/.gradle/gradle.properties | |
RUN set -o errexit -o nounset \ | |
&& echo "Testing Gradle installation" \ | |
&& gradle --version | |
ENV ANDROID_COMPILE_SDK "29" | |
ENV AVD_IMAGE_VERSION "19" | |
ENV ANDROID_BUILD_TOOLS "29.0.3" | |
ENV ANDROID_SDK_TOOLS "6200805" | |
RUN apt-get --quiet update --yes | |
RUN apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 libqt5widgets5 | |
RUN wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip | |
RUN mkdir -p android-sdk-linux/cmdline-tools | |
RUN unzip -d android-sdk-linux/cmdline-tools android-sdk.zip | |
RUN mkdir "${HOME}/.android" | |
RUN touch "${HOME}/.android/repositories.cfg" | |
ENV ANDROID_HOME "/android-sdk-linux" | |
ENV ANDROID_AVD_HOME "${HOME}/.android/avd" | |
ENV ANDROID_SDK_HOME "/android-sdk-linux" | |
ENV PATH "$PATH:${ANDROID_HOME}/cmdline-tools/platform-tools/" | |
ENV PATH "$PATH:${ANDROID_HOME}/cmdline-tools/emulator/" | |
ENV PATH "$PATH:${ANDROID_HOME}/cmdline-tools/tools/bin" | |
RUN echo y | sdkmanager --licenses | |
RUN echo y | sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null | |
RUN echo y | sdkmanager "platform-tools" >/dev/null | |
RUN echo y | sdkmanager "tools" >/dev/null | |
RUN echo y | sdkmanager "emulator" >/dev/null | |
RUN echo y | sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null | |
RUN echo y | sdkmanager --sdk_root=${ANDROID_HOME} "system-images;android-${AVD_IMAGE_VERSION};google_apis;armeabi-v7a" | |
RUN echo y | sdkmanager --sdk_root=${ANDROID_HOME} --update | |
RUN echo no | avdmanager create avd -k "system-images;android-${AVD_IMAGE_VERSION};google_apis;armeabi-v7a" -n test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment