Guest User

Dockerfile

a guest
Jun 27th, 2017
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. # Android Dockerfile
  2.  
  3. FROM ubuntu:14.04
  4.  
  5. MAINTAINER Mobile Builds Eng "[email protected]"
  6.  
  7. # Sets language to UTF8 : this works in pretty much all cases
  8. ENV LANG en_US.UTF-8
  9. RUN locale-gen $LANG
  10.  
  11. ENV DOCKER_ANDROID_LANG en_US
  12. ENV DOCKER_ANDROID_DISPLAY_NAME mobileci-docker
  13.  
  14. # Never ask for confirmations
  15. ENV DEBIAN_FRONTEND noninteractive
  16.  
  17. # Update apt-get
  18. RUN rm -rf /var/lib/apt/lists/*
  19. RUN apt-get update
  20. RUN apt-get dist-upgrade -y
  21.  
  22. # Installing packages
  23. RUN apt-get install -y \
  24. autoconf \
  25. build-essential \
  26. bzip2 \
  27. curl \
  28. gcc \
  29. git \
  30. groff \
  31. lib32stdc++6 \
  32. lib32z1 \
  33. lib32z1-dev \
  34. lib32ncurses5 \
  35. lib32bz2-1.0 \
  36. libc6-dev \
  37. libgmp-dev \
  38. libmpc-dev \
  39. libmpfr-dev \
  40. libxslt-dev \
  41. libxml2-dev \
  42. m4 \
  43. make \
  44. ncurses-dev \
  45. ocaml \
  46. openssh-client \
  47. pkg-config \
  48. python-software-properties \
  49. rsync \
  50. software-properties-common \
  51. unzip \
  52. wget \
  53. zip \
  54. zlib1g-dev \
  55. --no-install-recommends
  56.  
  57. # Install Java
  58. RUN apt-add-repository ppa:openjdk-r/ppa
  59. RUN apt-get update
  60. RUN apt-get -y install openjdk-8-jdk
  61.  
  62. # Clean Up Apt-get
  63. RUN rm -rf /var/lib/apt/lists/*
  64. RUN apt-get clean
  65.  
  66. ENV ANDROID_HOME /usr/local/android-sdk
  67. ENV ANDROID_SDK_HOME $ANDROID_HOME
  68.  
  69. # Install Android SDK
  70. RUN curl -L https://dl.google.com/android/repository/tools_r25.2.5-linux.zip -o /tmp/tools_r25.2.5-linux.zip && \
  71. unzip /tmp/tools_r25.2.5-linux.zip -d $ANDROID_HOME && \
  72. rm -f /tmp/tools_r25.2.5-linux.zip
  73.  
  74. # Environment variables
  75. ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
  76.  
  77. RUN mkdir -p ${ANDROID_HOME}/licenses
  78. RUN echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > ${ANDROID_HOME}/licenses/android-sdk-license
  79.  
  80. # Platform tools
  81. RUN sdkmanager "platform-tools"
  82.  
  83. # SDKs
  84. # Please keep these in descending order!
  85. RUN sdkmanager "platforms;android-26"
  86. RUN sdkmanager "platforms;android-25"
  87. RUN sdkmanager "platforms;android-24"
  88.  
  89. # Extras
  90. RUN sdkmanager "extras;android;m2repository"
  91. RUN sdkmanager "extras;google;m2repository"
  92. RUN sdkmanager "extras;google;google_play_services"
  93.  
  94. # Constraint Layout
  95. # Please keep these in descending order!
  96. RUN sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1"
  97. RUN sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2"
  98.  
  99. # Google apis
  100. # Please keep these in descending order!
  101. RUN sdkmanager "add-ons;addon-google_apis-google-23"
  102. RUN sdkmanager "add-ons;addon-google_apis-google-22"
  103. RUN sdkmanager "add-ons;addon-google_apis-google-21"
  104.  
  105. # Build tools
  106. # Please keep these in descending order!
  107. RUN sdkmanager "build-tools;26.0.0"
  108. RUN sdkmanager "build-tools;25.0.1"
  109. RUN sdkmanager "build-tools;24.0.0"
  110.  
  111. # Export JAVA_HOME variable
  112. ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
  113.  
  114. # Support Gradle
  115. ENV TERM dumb
  116. ENV JAVA_OPTS "-Xms512m -Xmx1024m"
  117. ENV GRADLE_OPTS "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000"
  118.  
  119. # Cleaning
  120. RUN apt-get clean
  121.  
  122. # Fix permissions
  123. RUN chmod -R a+rx $ANDROID_HOME $ANDROID_SDK_HOME
  124.  
  125. # Bundle a gradle cache
  126. RUN git config --global http.sslverify false
  127. RUN git clone https://3eb8b0380cfb49c37cc46e51fe86a7a6efe801b5:[email protected]/Android/gradle-cache.git
  128. RUN ln -s /gradle-cache/.gradle /root/.gradle
  129.  
  130. # Creating project directories prepared for build when running
  131. # `docker run`
  132. ENV PROJECT /project
  133. RUN mkdir $PROJECT
  134. WORKDIR $PROJECT
  135.  
  136. RUN echo "sdk.dir=$ANDROID_HOME" > local.properties
Advertisement
Add Comment
Please, Sign In to add comment