summaryrefslogtreecommitdiff
path: root/docker/android-ndk.dockerfile
diff options
context:
space:
mode:
authoraguestuser <aguestuser@risup.net>2017-05-04 17:26:28 +0200
committerkwadronaut <kwadronaut@leap.se>2017-05-04 17:34:06 +0200
commit59985587c758f93844df7600f18c0837c672f259 (patch)
tree044b866f2bd9a83246a6128c0e6f8afc4ce5a9d0 /docker/android-ndk.dockerfile
parent0688c9e8ceab724874bd795f35dc64f498c416b0 (diff)
parent4333fd93e3a1c64f6c0fb42be9ae29879ea2c7f0 (diff)
Update README, Dockerfile to build, smoothing on-boarding
Closes https://0xacab.org/leap/bitmask_android/merge_requests/1 README: add detailed instructions on installing and compiling provide workarounds for gotchas setting up emulator on 64-bit debian provide updated dockerfile & offer instructions for building in docker Docker: move dockerfiles to registry contained w/in bitmask_android repo provide separate dockerfiles for sdk (base), ndk, and emulator images resolve issues causing containerized build to fail, including: upstream ics-openvpn conflict with clang (:. transitively with ndk > r12b) (subtle!) missing dependency of ndk r12b on file (message: "missing file" meant a missing program called "file" not an actual missing file) missing locales causing errors in copyIcsOpenVPNFiles build step (resolved by generating all locales in dockerfile) silent failure in sdknmanager's isntallation of platforms;android-23 during image build causing install failure in remote (but not local!) containers Signed-off-by: kwadronaut <kwadronaut@leap.se>
Diffstat (limited to 'docker/android-ndk.dockerfile')
-rw-r--r--docker/android-ndk.dockerfile32
1 files changed, 32 insertions, 0 deletions
diff --git a/docker/android-ndk.dockerfile b/docker/android-ndk.dockerfile
new file mode 100644
index 00000000..0a3eabfd
--- /dev/null
+++ b/docker/android-ndk.dockerfile
@@ -0,0 +1,32 @@
+FROM 0xacab.org:4567/leap/bitmask_android/android-sdk:latest
+
+MAINTAINER LEAP Encryption Access Project <info@leap.se>
+LABEL Description="Android NDK image based on android-sdk baseimage" Vendor="LEAP" Version="r12b"
+
+# ------------------------------------------------------
+# --- Install System Dependencies
+
+RUN apt-get update -qq
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ make gcc file lib32stdc++6 lib32z1 # JNI build dependencies w/ 32-bit compatible C libs
+
+# ------------------------------------------------------
+# --- Install Android NDK (for running C code)
+
+# NOTE(@aguestuser|4.23.17)
+# We woud like to use te current version of Android NDK (r14b) but cannot
+# due to pinned dependency on year-old version of `ics-openvpn`
+# which has transitive dependency on `openssl` which will not compile with `clang`
+# (starting in 13b, android ndk uses `clang` isntead of `gcc`)
+# Upon rebasing onto to current HEAD of `ics-openvpn` and resolving conflicts, we
+# should update to current version of `ndk`.
+
+ENV ANDROID_NDK_VERSION "r12b"
+ENV ANDROID_NDK_HOME ${ANDROID_HOME}/android-ndk-${ANDROID_NDK_VERSION}
+ENV ANDROID_NDK_URL http://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux-x86_64.zip
+
+RUN curl -L $ANDROID_NDK_URL -o ndk.zip \
+ && unzip ndk.zip -d $ANDROID_HOME \
+ && rm -rf ndk.zip
+
+ENV PATH ${PATH}:${ANDROID_NDK_HOME}