Skip to content

Commit f6b4d11

Browse files
committed
https://github.com/uber-common/android-build-environment/pull/13
1 parent 588f52e commit f6b4d11

File tree

1 file changed

+71
-75
lines changed

1 file changed

+71
-75
lines changed

Dockerfile

+71-75
Original file line numberDiff line numberDiff line change
@@ -14,71 +14,51 @@ ENV DOCKER_ANDROID_DISPLAY_NAME mobileci-docker
1414
# Never ask for confirmations
1515
ENV DEBIAN_FRONTEND noninteractive
1616

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
17+
# Updating & Installing packages
18+
RUN apt-get update \
19+
&& apt-get dist-upgrade -y \
20+
&& apt-get install -y \
21+
autoconf \
22+
build-essential \
23+
bzip2 \
24+
curl \
25+
gcc \
26+
git \
27+
groff \
28+
lib32stdc++6 \
29+
lib32z1 \
30+
lib32z1-dev \
31+
lib32ncurses5 \
32+
lib32bz2-1.0 \
33+
libc6-dev \
34+
libgmp-dev \
35+
libmpc-dev \
36+
libmpfr-dev \
37+
libxslt-dev \
38+
libxml2-dev \
39+
m4 \
40+
make \
41+
ncurses-dev \
42+
ocaml \
43+
openssh-client \
44+
pkg-config \
45+
python-software-properties \
46+
rsync \
47+
software-properties-common \
48+
unzip \
49+
wget \
50+
zip \
51+
zlib1g-dev \
52+
--no-install-recommends \
53+
&& apt-get clean \
54+
&& rm -rf /var/lib/apt/lists/*
5655

5756
# 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-
# Install Android SDK
67-
RUN wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
68-
RUN tar -xvzf android-sdk_r24.4.1-linux.tgz
69-
RUN mv android-sdk-linux /usr/local/android-sdk
70-
RUN rm android-sdk_r24.4.1-linux.tgz
71-
72-
ENV ANDROID_COMPONENTS platform-tools,android-23,build-tools-23.0.2,build-tools-24.0.0,build-tools-25.0.2,android-24
73-
74-
# Install Android tools
75-
RUN echo y | /usr/local/android-sdk/tools/android update sdk --filter "${ANDROID_COMPONENTS}" --no-ui -a
76-
77-
# Install Android NDK
78-
RUN wget http://dl.google.com/android/repository/android-ndk-r12-linux-x86_64.zip
79-
RUN unzip android-ndk-r12-linux-x86_64.zip
80-
RUN mv android-ndk-r12 /usr/local/android-ndk
81-
RUN rm android-ndk-r12-linux-x86_64.zip
57+
RUN apt-add-repository ppa:openjdk-r/ppa \
58+
&& apt-get update \
59+
&& apt-get -y install openjdk-8-jdk \
60+
&& apt-get clean \
61+
&& rm -rf /var/lib/apt/lists/*
8262

8363
# Environment variables
8464
ENV ANDROID_HOME /usr/local/android-sdk
@@ -95,14 +75,6 @@ ENV PATH $PATH:$ANDROID_NDK_HOME
9575
# Export JAVA_HOME variable
9676
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
9777

98-
# Support Gradle
99-
ENV TERM dumb
100-
ENV JAVA_OPTS "-Xms4096m -Xmx4096m"
101-
ENV GRADLE_OPTS "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000"
102-
103-
# Cleaning
104-
RUN apt-get clean
105-
10678
# Add build user account, values are set to default below
10779
ENV RUN_USER mobileci
10880
ENV RUN_UID 5089
@@ -113,9 +85,33 @@ RUN id $RUN_USER || adduser --uid "$RUN_UID" \
11385
--disabled-login \
11486
--disabled-password "$RUN_USER"
11587

116-
# Fix permissions
117-
RUN chown -R $RUN_USER:$RUN_USER $ANDROID_HOME $ANDROID_SDK_HOME $ANDROID_NDK_HOME
118-
RUN chmod -R a+rx $ANDROID_HOME $ANDROID_SDK_HOME $ANDROID_NDK_HOME
88+
# Install Android SDK
89+
RUN wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz \
90+
&& tar -xvzf android-sdk_r24.4.1-linux.tgz \
91+
&& mv android-sdk-linux /usr/local/android-sdk \
92+
&& chown -R $RUN_USER:$RUN_USER $ANDROID_HOME \
93+
&& chmod -R a+rx $ANDROID_HOME \
94+
&& rm android-sdk_r24.4.1-linux.tgz
95+
96+
ENV ANDROID_COMPONENTS platform-tools,android-23,build-tools-23.0.2,build-tools-24.0.0
97+
98+
# Install Android tools
99+
RUN echo y | /usr/local/android-sdk/tools/android update sdk --filter "${ANDROID_COMPONENTS}" --no-ui -a \
100+
&& chown -R $RUN_USER:$RUN_USER $ANDROID_HOME \
101+
&& chmod -R a+rx $ANDROID_HOME
102+
103+
# Install Android NDK
104+
RUN wget http://dl.google.com/android/repository/android-ndk-r12-linux-x86_64.zip \
105+
&& unzip android-ndk-r12-linux-x86_64.zip \
106+
&& mv android-ndk-r12 /usr/local/android-ndk \
107+
&& chown -R $RUN_USER:$RUN_USER $ANDROID_NDK_HOME \
108+
&& chmod -R a+rx $ANDROID_NDK_HOME \
109+
&& rm android-ndk-r12-linux-x86_64.zip
110+
111+
# Support Gradle
112+
ENV TERM dumb
113+
ENV JAVA_OPTS "-Xms4096m -Xmx4096m"
114+
ENV GRADLE_OPTS "-XX:+UseG1GC -XX:MaxGCPauseMillis=1000"
119115

120116
# Creating project directories prepared for build when running
121117
# `docker run`
@@ -125,4 +121,4 @@ RUN chown -R $RUN_USER:$RUN_USER $PROJECT
125121
WORKDIR $PROJECT
126122

127123
USER $RUN_USER
128-
RUN echo "sdk.dir=$ANDROID_HOME" > local.properties
124+
RUN echo "sdk.dir=$ANDROID_HOME" > local.properties

0 commit comments

Comments
 (0)