@@ -16,21 +16,27 @@ FROM ubuntu:16.04
16
16
17
17
# get the latest version from https://developer.android.com/ndk/downloads/index.html
18
18
ENV ANDROID_NDK_VERSION="16b"
19
+ # get the latest version from https://www.crystax.net/en/download
20
+ ENV CRYSTAX_NDK_VERSION="10.3.2"
19
21
# get the latest version from https://developer.android.com/studio/index.html
20
22
ENV ANDROID_SDK_TOOLS_VERSION="3859397"
21
23
22
24
ENV ANDROID_HOME="/opt/android"
23
25
ENV ANDROID_NDK_HOME="${ANDROID_HOME}/android-ndk" \
26
+ CRYSTAX_NDK_HOME="${ANDROID_HOME}/crystax-ndk" \
24
27
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}"
26
30
ENV 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" \
27
32
ANDROID_SDK_TOOLS_ARCHIVE="sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip"
28
33
ENV 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}" \
29
35
ANDROID_SDK_TOOLS_DL_URL="https://dl.google.com/android/repository/${ANDROID_SDK_TOOLS_ARCHIVE}"
30
36
31
37
# install system dependencies
32
38
RUN 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
34
40
35
41
# build dependencies
36
42
# 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
41
47
RUN pip install --quiet --upgrade cython==0.21
42
48
43
49
# 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}" && \
45
51
mkdir --parents "${ANDROID_NDK_HOME_V}" && \
46
52
unzip -q "${ANDROID_NDK_ARCHIVE}" -d "${ANDROID_HOME}" && \
47
53
ln -sfn "${ANDROID_NDK_HOME_V}" "${ANDROID_NDK_HOME}"
48
54
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-nd
63D4
k-${CRYSTAX_NDK_VERSION}/toolchains/mips64el-* && \
67
+ ln -sfn "${CRYSTAX_NDK_HOME_V}" "${CRYSTAX_NDK_HOME}"
68
+
49
69
# 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}" && \
51
71
mkdir --parents "${ANDROID_SDK_HOME}" && \
52
72
unzip -q "${ANDROID_SDK_TOOLS_ARCHIVE}" -d "${ANDROID_SDK_HOME}"
53
73
0 commit comments