FROM java:8 ENV ANDROID_HOME /opt/android-sdk-linux # ------------------------------------------------------ # --- Install required tools # Dependencies to execute Android builds RUN dpkg --add-architecture i386 && \ apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-8-jdk libc6:i386 libstdc++6:i386 libgcc1:i386 libncurses5:i386 libz1:i386 && \ rm -rf /var/lib/apt/lists/* # ------------------------------------------------------ # --- Download Android tools into $ANDROID_HOME # You can find URL to the current version at: https://developer.android.com/studio/index.html RUN mkdir -p ${ANDROID_HOME} && \ cd ${ANDROID_HOME} && \ wget -q https://dl.google.com/android/repository/tools_r25.2.3-linux.zip -O android_tools.zip && \ unzip android_tools.zip && \ rm android_tools.zip ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools # ------------------------------------------------------ # --- Install Android SDKs and other build packages # Other tools and resources of Android SDK # you should only install the packages you need! # To get a full list of available options you can use: # android list sdk --no-ui --all --extended # (!!!) Only install one package at a time, as "echo y" will only work for one license! # If you don't do it this way you might get "Unknown response" in the logs, # but the android SDK tool **won't** fail, it'll just **NOT** install the package. RUN echo y | android update sdk --no-ui --all --filter platform-tools | grep 'package installed' # SDKs # Please keep these in descending order! RUN echo y | android update sdk --no-ui --all --filter android-25 | grep 'package installed' # build tools # Please keep these in descending order! RUN echo y | android update sdk --no-ui --all --filter build-tools-25.0.2 | grep 'package installed' # Android System Images, for emulators # Please keep these in descending order! # RUN echo y | android update sdk --no-ui --all --filter sys-img-armeabi-v7a-android-24 | grep 'package installed' # Extras RUN echo y | android update sdk --no-ui --all --filter extra-android-m2repository | grep 'package installed' RUN echo y | android update sdk --no-ui --all --filter extra-google-m2repository | grep 'package installed' RUN echo y | android update sdk --no-ui --all --filter extra-google-google_play_services | grep 'package installed' # google apis # Please keep these in descending order! # RUN echo y | android update sdk --no-ui --all --filter addon-google_apis-google-23 | grep 'package installed' # ------------------------------------------------------ # --- Gradle ENV TERM dumb ENV JAVA_OPTS -Xms512m -Xmx2048m ENV GRADLE_VERSION 2.14.1 ENV GRADLE_HOME /opt/gradle-${GRADLE_VERSION} ENV GRADLE_USER_HOME /usr/local/share/gradle RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip && \ unzip gradle-${GRADLE_VERSION}-all.zip && \ mv gradle-${GRADLE_VERSION} /opt/ && \ rm gradle-${GRADLE_VERSION}-all.zip ENV PATH $PATH:$GRADLE_HOME/bin # Install Android SDK licenses RUN mkdir "$ANDROID_HOME/licenses" && \ echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" && \ echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"