├── .gitignore ├── README.md ├── Dockerfile └── ubuntu └── Dockerfile /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # docker-android 2 | [![Apache 2.0 License](https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0.html) 3 | 4 | Docker image for Android builds. 5 | 6 | ## Base Image 7 | 8 | It use CentOS 7 as default base image. But you have another choice base on Ubuntu 14.04. [ubuntu/Dockerfile](ubuntu/Dockerfile). 9 | 10 | ## What's Included 11 | 12 | - Oracle Java 8 13 | - Android SDK 14 | - Build Tools 23.0.3 & 24.0.3 15 | - Platform SDK 23 & 24 16 | - Pre-installed Gradle version 3.1 17 | 18 | ## Usage 19 | 20 | You can pull the image form DaoCloud's image repository by using `docker pull` or [`dao pull`](https://dashboard.daocloud.io/mirror). 21 | 22 | ```sh 23 | docker pull daocloud.io/nekocode/docker-android: 24 | dao pull daocloud.io/nekocode/docker-android: 25 | ``` 26 | 27 | You can get the `` [here](https://dashboard.daocloud.io/packages/4c0f5468-9623-4ffb-8dd2-e2680ba9ab9d). 28 | 29 | In CI enviroment, you can use `gradle app:assembleRelease` instead of `./gradlew app:assembleRelease` to speed up your build. -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | MAINTAINER nekocode 3 | 4 | # Install Dependencies 5 | RUN yum install -y wget unzip && \ 6 | yum install -y glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 7 | 8 | # Download JDK 8 9 | RUN wget -q --no-check-certificate -c \ 10 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 11 | "http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz" \ 12 | -O jdk8.tar.gz && \ 13 | tar -xzf jdk8.tar.gz -C /opt && \ 14 | rm jdk8.tar.gz 15 | 16 | # Configure Java Environment 17 | ENV JAVA8_HOME /opt/jdk1.8.0_112 18 | ENV JAVA_HOME $JAVA8_HOME 19 | ENV PATH $PATH:$JAVA_HOME/bin 20 | 21 | # Download Android SDK tools 22 | RUN wget -q "http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" -O android-sdk.tgz && \ 23 | tar -xzf android-sdk.tgz -C /opt && \ 24 | rm android-sdk.tgz 25 | 26 | # Configure Android SDK Environment 27 | ENV ANDROID_HOME /opt/android-sdk-linux 28 | ENV PATH $PATH:$ANDROID_HOME/tools 29 | ENV PATH $PATH:$ANDROID_HOME/platform-tools 30 | ENV PATH $PATH:$ANDROID_HOME/build-tools/24.0.3 31 | 32 | # Install Android SDK components 33 | RUN echo y | android update sdk --no-ui --all --filter \ 34 | "platform-tools,build-tools-23.0.3,build-tools-24.0.3,android-23,android-24" && \ 35 | echo y | android update sdk --no-ui --all --filter \ 36 | "extra-android-m2repository,extra-google-m2repository,extra-android-support" 37 | 38 | # Setup Gradle 39 | ENV GRADLE_VERSION 3.1 40 | RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ 41 | unzip -q gradle.zip -d /opt && \ 42 | ln -s "/opt/gradle-${GRADLE_VERSION}/bin/gradle" /usr/bin/gradle && \ 43 | rm gradle.zip 44 | 45 | # Configure Gradle Environment 46 | ENV GRADLE_HOME /opt/gradle-${GRADLE_VERSION} 47 | ENV PATH $PATH:$GRADLE_HOME/bin 48 | RUN mkdir ~/.gradle 49 | ENV GRADLE_USER_HOME ~/.gradle -------------------------------------------------------------------------------- /ubuntu/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:14.04 2 | MAINTAINER nekocode 3 | 4 | # Install Dependencies 5 | RUN dpkg --add-architecture i386 && \ 6 | apt-get update && \ 7 | apt-get install -y wget && \ 8 | apt-get install -y libncurses5:i386 libstdc++6:i386 zlib1g:i386 && \ 9 | apt-get clean 10 | 11 | # Download JDK 7 12 | # RUN wget -q --no-check-certificate -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz -O Jdk7.tar.gz && \ 13 | # tar -xzf Jdk7.tar.gz -C /opt && \ 14 | # rm Jdk7.tar.gz 15 | 16 | # Download JDK 8 17 | RUN wget -q --no-check-certificate -c \ 18 | --header "Cookie: oraclelicense=accept-securebackup-cookie" \ 19 | "http://download.oracle.com/otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64.tar.gz" \ 20 | -O jdk8.tar.gz && \ 21 | tar -xzf jdk8.tar.gz -C /opt && \ 22 | rm jdk8.tar.gz 23 | 24 | # Configure Java Environment 25 | # ENV JAVA7_HOME /opt/jdk1.7.0_79 26 | ENV JAVA8_HOME /opt/jdk1.8.0_112 27 | ENV JAVA_HOME $JAVA8_HOME 28 | ENV PATH $PATH:$JAVA_HOME/bin 29 | 30 | # Download Android SDK tools 31 | RUN wget -q "http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz" -O android-sdk.tgz && \ 32 | tar -xzf android-sdk.tgz -C /opt && \ 33 | rm android-sdk.tgz 34 | 35 | # Configure Android SDK Environment 36 | ENV ANDROID_HOME /opt/android-sdk-linux 37 | ENV PATH $PATH:$ANDROID_HOME/tools 38 | ENV PATH $PATH:$ANDROID_HOME/platform-tools 39 | ENV PATH $PATH:$ANDROID_HOME/build-tools/24.0.3 40 | 41 | # Install Android SDK components 42 | RUN echo y | android update sdk --no-ui --all --filter \ 43 | "platform-tools,build-tools-23.0.3,build-tools-24.0.3,android-23,android-24" && \ 44 | echo y | android update sdk --no-ui --all --filter \ 45 | "extra-android-m2repository,extra-google-m2repository,extra-android-support" 46 | 47 | # Setup Gradle 48 | ENV GRADLE_VERSION 3.1 49 | RUN wget -q "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" -O gradle.zip && \ 50 | unzip -q gradle.zip -d /opt && \ 51 | ln -s "/opt/gradle-${GRADLE_VERSION}/bin/gradle" /usr/bin/gradle && \ 52 | rm gradle.zip 53 | 54 | # Configure Gradle Environment 55 | ENV GRADLE_HOME /opt/gradle-${GRADLE_VERSION} 56 | ENV PATH $PATH:$GRADLE_HOME/bin 57 | RUN mkdir ~/.gradle 58 | ENV GRADLE_USER_HOME ~/.gradle --------------------------------------------------------------------------------