@@ -16,21 +16,27 @@ FROM ubuntu:16.04
1616
1717# get the latest version from https://developer.android.com/ndk/downloads/index.html
1818ENV ANDROID_NDK_VERSION="16b"
19+ # get the latest version from https://www.crystax.net/en/download
20+ ENV CRYSTAX_NDK_VERSION="10.3.2"
1921# get the latest version from https://developer.android.com/studio/index.html
2022ENV ANDROID_SDK_TOOLS_VERSION="3859397"
2123
2224ENV ANDROID_HOME="/opt/android"
2325ENV ANDROID_NDK_HOME="${ANDROID_HOME}/android-ndk" \
26+ CRYSTAX_NDK_HOME="${ANDROID_HOME}/crystax-ndk" \
2427 ANDROID_SDK_HOME="${ANDROID_HOME}/android-sdk"
25- ENV ANDROID_NDK_HOME_V="${ANDROID_NDK_HOME}-r${ANDROID_NDK_VERSION}"
28+ ENV ANDROID_NDK_HOME_V="${ANDROID_NDK_HOME}-r${ANDROID_NDK_VERSION}" \
29+ CRYSTAX_NDK_HOME_V="${CRYSTAX_NDK_HOME}-${CRYSTAX_NDK_VERSION}"
2630ENV ANDROID_NDK_ARCHIVE="android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip" \
31+ CRYSTAX_NDK_ARCHIVE="crystax-ndk-${CRYSTAX_NDK_VERSION}-linux-x86.tar.xz" \
2732 ANDROID_SDK_TOOLS_ARCHIVE="sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip"
2833ENV ANDROID_NDK_DL_URL="https://dl.google.com/android/repository/${ANDROID_NDK_ARCHIVE}" \
34+ CRYSTAX_NDK_DL_URL="https://eu.crystax.net/download/${CRYSTAX_NDK_ARCHIVE}" \
2935 ANDROID_SDK_TOOLS_DL_URL="https://dl.google.com/android/repository/${ANDROID_SDK_TOOLS_ARCHIVE}"
3036
3137# install system dependencies
3238RUN apt update -qq && apt install -qq --yes --no-install-recommends \
33- python virtualenv python-pip wget curl lbzip2 patch
39+ python virtualenv python-pip wget curl lbzip2 patch bsdtar
3440
3541# build dependencies
3642# https://buildozer.readthedocs.io/en/latest/installation.html#android-on-ubuntu-16-04-64bit
@@ -41,13 +47,27 @@ RUN dpkg --add-architecture i386 && apt update -qq && apt install -qq --yes --n
4147RUN pip install --quiet --upgrade cython==0.21
4248
4349# download and install Android NDK
44- RUN curl --progress-bar "${ANDROID_NDK_DL_URL}" --output "${ANDROID_NDK_ARCHIVE}" && \
50+ RUN curl --location -- progress-bar "${ANDROID_NDK_DL_URL}" --output "${ANDROID_NDK_ARCHIVE}" && \
4551 mkdir --parents "${ANDROID_NDK_HOME_V}" && \
4652 unzip -q "${ANDROID_NDK_ARCHIVE}" -d "${ANDROID_HOME}" && \
4753 ln -sfn "${ANDROID_NDK_HOME_V}" "${ANDROID_NDK_HOME}"
4854
55+ # download and install CrystaX NDK
56+ # added `gnutls_handshake` flag to workaround random `gnutls_handshake()` issues
57+ RUN curl --location --progress-bar "${CRYSTAX_NDK_DL_URL}" --output "${CRYSTAX_NDK_ARCHIVE}" --insecure && \
58+ bsdtar -xf "${CRYSTAX_NDK_ARCHIVE}" --directory "${ANDROID_HOME}" \
59+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/docs \
60+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/samples \
61+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/tests \
62+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/toolchains/renderscript \
63+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/toolchains/x86_64-* \
64+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/toolchains/llvm-* \
65+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/toolchains/aarch64-* \
66+ --exclude=crystax-ndk-${CRYSTAX_NDK_VERSION}/toolchains/mips64el-* && \
67+ ln -sfn "${CRYSTAX_NDK_HOME_V}" "${CRYSTAX_NDK_HOME}"
68+
4969# download and install Android SDK
50- RUN curl --progress-bar "${ANDROID_SDK_TOOLS_DL_URL}" --output "${ANDROID_SDK_TOOLS_ARCHIVE}" && \
70+ RUN curl --location -- progress-bar "${ANDROID_SDK_TOOLS_DL_URL}" --output "${ANDROID_SDK_TOOLS_ARCHIVE}" && \
5171 mkdir --parents "${ANDROID_SDK_HOME}" && \
5272 unzip -q "${ANDROID_SDK_TOOLS_ARCHIVE}" -d "${ANDROID_SDK_HOME}"
5373
0 commit comments