FROM ubuntu:14.04 # Install java8 RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y ppa:webupd8team/java && \ apt-get update RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections RUN apt-get install -y oracle-java8-installer # Install Deps RUN dpkg --add-architecture i386 && apt-get update && apt-get install -y --force-yes expect git wget libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 python curl unzip # Install Android SDK RUN cd /opt && wget --output-document=android-sdk.tgz --quiet http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz && tar xzf android-sdk.tgz && rm -f android-sdk.tgz # Install Gradle RUN cd /opt && wget --output-document=gradle-2.13.zip --quiet https://services.gradle.org/distributions/gradle-2.13-bin.zip && unzip gradle-2.13.zip && rm -f gradle-2.13.zip COPY build-tools /opt/tools # Setup environment ENV ANDROID_HOME=/opt/android-sdk-linux \ GRADLE_HOME=/opt/gradle-2.13 \ JAVA_HOME=/usr/lib/jvm/java-8-oracle ENV PATH ${PATH}:${GRADLE_HOME}/bin:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:/opt/tools # Install sdk elements RUN ["/opt/tools/android-accept-licenses.sh", "android update sdk --all --no-ui --filter platform-tools,tools,build-tools-23.0.2,android-23,extra-android-support,extra-android-m2repository,extra-google-m2repository,extra-google-google_play_services"] # Add license agreements to SDK RUN mkdir $ANDROID_HOME/licenses COPY licenses/android-sdk* $ANDROID_HOME/licenses/ # Cleaning RUN apt-get clean # Jenkins needs to be able to clean up for user RUN groupadd -g 1000 app && \ useradd app -u 1000 -g 1000 -d /home/app -ms /bin/bash # App user needs to be able to write to $ANDROID_HOME RUN chown -R app:app $ANDROID_HOME RUN chown -R app:app /opt/gradle-2.13 # GO to workspace USER app RUN mkdir -p /home/app/workspace && chown -R app:app /home/app/workspace WORKDIR /home/app/workspace CMD ["gradle", "--refresh-dependencies", "build"]