@@ -4,42 +4,26 @@ LABEL Description="This image provides a base Android development environment fo
44
55ENV DEBIAN_FRONTEND=noninteractive
66
7- # Keep the previous SDK as a fallback until we've finished the migration.
8- ARG ANDROID_BUILD_VERSION_FALLBACK=31
9- ARG ANDROID_TOOLS_VERSION_FALLBACK=31.0.0
10-
117# set default build arguments
128# https://developer.android.com/studio#command-tools
139ARG SDK_VERSION=commandlinetools-linux-8512546_latest.zip
1410ARG ANDROID_BUILD_VERSION=33
1511ARG ANDROID_TOOLS_VERSION=33.0.0
16- ARG BUCK_VERSION=2022.05.05.01
17- # Buck doesn't support versions beyond NDK 21
18- # Therefore we need to diverge the NDK version and set NDK_HOME
19- # for Buck to pick it up correctly.
20- ARG NDK_VERSION_BUCK=21.4.7075529
21- ARG NDK_VERSION_GRADLE=23.1.7779620
12+ ARG NDK_VERSION=23.1.7779620
2213ARG NODE_VERSION=16
2314ARG WATCHMAN_VERSION=4.9.0
24- # For comaptibilites we install both CMake 3.18.x and 3.22.x, as AGP 7.3 autodownloads 3.18.x
25- # Once we bump to AGP 7.4, we can remove 3.18.x and use only 3.22.x
2615ARG CMAKE_VERSION=3.22.1
27- ARG OLD_CMAKE_VERSION=3.18.1
2816
2917# set default environment variables, please don't remove old env for compatibilty issue
3018ENV ADB_INSTALL_TIMEOUT=10
3119ENV ANDROID_HOME=/opt/android
3220ENV ANDROID_SDK_ROOT=${ANDROID_HOME}
33- ENV ANDROID_NDK_BUCK=${ANDROID_HOME}/ndk/$NDK_VERSION_BUCK
34- ENV ANDROID_NDK_GRADLE=${ANDROID_HOME}/ndk/$NDK_VERSION_GRADLE
35- # this is needed for Buck to be able to recognize NDK 21
36- ENV NDK_HOME=${ANDROID_HOME}/ndk/$NDK_VERSION_BUCK
37- ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/$NDK_VERSION_GRADLE
21+ ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/$NDK_VERSION
3822
3923ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
4024ENV CMAKE_BIN_PATH=${ANDROID_HOME}/cmake/$CMAKE_VERSION/bin
4125
42- ENV PATH=${CMAKE_BIN_PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/emulator:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:/opt/buck/bin/: ${PATH}
26+ ENV PATH=${CMAKE_BIN_PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/emulator:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${PATH}
4327
4428# Install system dependencies
4529RUN apt update -qq && apt install -qq -y --no-install-recommends \
@@ -69,26 +53,6 @@ RUN apt update -qq && apt install -qq -y --no-install-recommends \
6953 zip \
7054 # Dev libraries requested by Hermes
7155 libicu-dev \
72- # Emulator & video bridge dependencies
73- libc6 \
74- libdbus-1-3 \
75- libfontconfig1 \
76- libgcc1 \
77- libpulse0 \
78- libtinfo5 \
79- libx11-6 \
80- libxcb1 \
81- libxdamage1 \
82- libnss3 \
83- libxcomposite1 \
84- libxcursor1 \
85- libxi6 \
86- libxext6 \
87- libxfixes3 \
88- zlib1g \
89- libgl1 \
90- pulseaudio \
91- socat \
9256 # Dev dependencies required by linters
9357 jq \
9458 shellcheck \
@@ -102,31 +66,18 @@ RUN curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n \
10266 && npm install -g n \
10367 && npm install -g yarn
10468
105- # download and install buck using the java11 pex from Jitpack
106- RUN curl -L https://jitpack.io/com/github/facebook/buck/v${BUCK_VERSION}/buck-v${BUCK_VERSION}-java11.pex -o /tmp/buck.pex \
107- && mv /tmp/buck.pex /usr/local/bin/buck \
108- && chmod +x /usr/local/bin/buck
109-
11069# Full reference at https://dl.google.com/android/repository/repository2-1.xml
11170# download and unpack android
112- # workaround buck clang version detection by symlinking
11371RUN curl -sS https://dl.google.com/android/repository/${SDK_VERSION} -o /tmp/sdk.zip \
11472 && mkdir -p ${ANDROID_HOME}/cmdline-tools \
11573 && unzip -q -d ${ANDROID_HOME}/cmdline-tools /tmp/sdk.zip \
11674 && mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
11775 && rm /tmp/sdk.zip \
11876 && yes | sdkmanager --licenses \
11977 && yes | sdkmanager "platform-tools" \
120- "emulator" \
12178 "platforms;android-$ANDROID_BUILD_VERSION" \
122- "platforms;android-$ANDROID_BUILD_VERSION_FALLBACK" \
12379 "build-tools;$ANDROID_TOOLS_VERSION" \
124- "build-tools;$ANDROID_TOOLS_VERSION_FALLBACK" \
12580 "cmake;$CMAKE_VERSION" \
126- "cmake;$OLD_CMAKE_VERSION" \
127- "system-images;android-21;google_apis;armeabi-v7a" \
128- "ndk;$NDK_VERSION_BUCK" \
129- "ndk;$NDK_VERSION_GRADLE" \
81+ "ndk;$NDK_VERSION" \
13082 && rm -rf ${ANDROID_HOME}/.android \
131- && chmod 777 -R /opt/android \
132- && ln -s ${ANDROID_NDK_BUCK}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.9 ${ANDROID_NDK_BUCK}/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/9.0.8
83+ && chmod 777 -R /opt/android
0 commit comments