summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-03-10 16:41:04 +0100
committerAlbin <albin@mullvad.net>2023-03-14 15:43:15 +0100
commit76f9426c0c4871086f2832a76a1a423a656aa73c (patch)
tree66e5c4b3e1d2086f1bd40408629e481d075cd908
parenteff4bc71111ed0777b6db89d6e104f4478b5cf29 (diff)
downloadmullvadvpn-76f9426c0c4871086f2832a76a1a423a656aa73c.tar.xz
mullvadvpn-76f9426c0c4871086f2832a76a1a423a656aa73c.zip
Bump NDK version to r25c
-rw-r--r--android/docker/Dockerfile16
-rwxr-xr-xbuild-apk.sh6
-rwxr-xr-xwireguard/libwg/build-android.sh9
3 files changed, 11 insertions, 20 deletions
diff --git a/android/docker/Dockerfile b/android/docker/Dockerfile
index 32048d8bfa..9f9ccb7345 100644
--- a/android/docker/Dockerfile
+++ b/android/docker/Dockerfile
@@ -34,9 +34,9 @@ ARG SDK_VERSION=platforms;android-33 \
ARG COMMAND_LINE_TOOLS_VERSION=9123335 \
COMMAND_LINE_TOOLS_SHA256_CHECKSUM=0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a
-# NDK and checksum from: https://github.com/android/ndk/wiki/Unsupported-Downloads
-ARG NDK_VERSION=r20b \
- NDK_SHA1_CHECKSUM=d903fdf077039ad9331fb6c3bee78aa46d45527b \
+# NDK and checksum from: https://github.com/android/ndk/wiki#supported-downloads
+ARG NDK_VERSION=r25c \
+ NDK_SHA1_CHECKSUM=53af80a1cce9144025b81c78c8cd556bff42bd0e \
MIN_SDK_VERSION=21
ENV ANDROID_SDK_ROOT=/opt/android
@@ -47,22 +47,22 @@ ENV NDK_TOOLCHAIN_DIR=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/
ENV GRADLE_USER_HOME=/root/.gradle
# Rust cross-compilation for: aarch64
-ENV AR_aarch64_linux_android=${NDK_TOOLCHAIN_DIR}/aarch64-linux-android-ar \
+ENV AR_aarch64_linux_android=${NDK_TOOLCHAIN_DIR}/llvm-ar \
CC_aarch64_linux_android=${NDK_TOOLCHAIN_DIR}/aarch64-linux-android${MIN_SDK_VERSION}-clang \
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=${NDK_TOOLCHAIN_DIR}/aarch64-linux-android${MIN_SDK_VERSION}-clang
# Rust cross-compilation for: armv7
-ENV AR_armv7_linux_androideabi=${NDK_TOOLCHAIN_DIR}/arm-linux-androideabi-ar \
+ENV AR_armv7_linux_androideabi=${NDK_TOOLCHAIN_DIR}/llvm-ar \
CC_armv7_linux_androideabi=${NDK_TOOLCHAIN_DIR}/armv7a-linux-androideabi${MIN_SDK_VERSION}-clang \
CARGO_TARGET_ARMV7_LINUX_ANDROIDEABI_LINKER=${NDK_TOOLCHAIN_DIR}/armv7a-linux-androideabi${MIN_SDK_VERSION}-clang
# Rust cross-compilation for: i686
-ENV AR_i686_linux_android=${NDK_TOOLCHAIN_DIR}/i686-linux-android-ar \
+ENV AR_i686_linux_android=${NDK_TOOLCHAIN_DIR}/llvm-ar \
CC_i686_linux_android=${NDK_TOOLCHAIN_DIR}/i686-linux-android${MIN_SDK_VERSION}-clang \
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=${NDK_TOOLCHAIN_DIR}/i686-linux-android${MIN_SDK_VERSION}-clang
# Rust cross-compilation for: x86_64
-ENV AR_x86_64_linux_android=${NDK_TOOLCHAIN_DIR}/x86_64-linux-android-ar \
+ENV AR_x86_64_linux_android=${NDK_TOOLCHAIN_DIR}/llvm-ar \
CC_x86_64_linux_android=${NDK_TOOLCHAIN_DIR}/x86_64-linux-android${MIN_SDK_VERSION}-clang \
CARGO_TARGET_X86_64_LINUX_ANDROID_LINKER=${NDK_TOOLCHAIN_DIR}/x86_64-linux-android${MIN_SDK_VERSION}-clang
@@ -95,7 +95,7 @@ RUN curl -sfLo /tmp/cmdline-tools.zip https://dl.google.com/android/repository/c
RUN yes | $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager $SDK_VERSION $BUILD_TOOLS_VERSION "platform-tools"
# Install Android NDK
-RUN curl -sfLo /tmp/ndk.zip https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux-x86_64.zip && \
+RUN curl -sfLo /tmp/ndk.zip https://dl.google.com/android/repository/android-ndk-${NDK_VERSION}-linux.zip && \
echo "$NDK_SHA1_CHECKSUM /tmp/ndk.zip" | sha1sum -c && \
unzip -q /tmp/ndk.zip -d $ANDROID_SDK_ROOT && \
rm /tmp/ndk.zip
diff --git a/build-apk.sh b/build-apk.sh
index 0088c29346..041ba75772 100755
--- a/build-apk.sh
+++ b/build-apk.sh
@@ -86,22 +86,18 @@ popd
for ARCHITECTURE in ${ARCHITECTURES:-aarch64 armv7 x86_64 i686}; do
case "$ARCHITECTURE" in
"x86_64")
- LLVM_TRIPLE="x86_64-linux-android"
TARGET="x86_64-linux-android"
ABI="x86_64"
;;
"i686")
- LLVM_TRIPLE="i686-linux-android"
TARGET="i686-linux-android"
ABI="x86"
;;
"aarch64")
- LLVM_TRIPLE="aarch64-linux-android"
TARGET="aarch64-linux-android"
ABI="arm64-v8a"
;;
"armv7")
- LLVM_TRIPLE="arm-linux-androideabi"
TARGET="armv7-linux-androideabi"
ABI="armeabi-v7a"
;;
@@ -110,7 +106,7 @@ for ARCHITECTURE in ${ARCHITECTURES:-aarch64 armv7 x86_64 i686}; do
echo "Building mullvad-daemon for $TARGET"
cargo build $CARGO_ARGS --target "$TARGET" --package mullvad-jni
- STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/${LLVM_TRIPLE}-strip"
+ STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/llvm-strip"
TARGET_LIB_PATH="$SCRIPT_DIR/android/app/build/extraJni/$ABI/libmullvad_jni.so"
UNSTRIPPED_LIB_PATH="$CARGO_TARGET_DIR/$TARGET/$BUILD_TYPE/libmullvad_jni.so"
diff --git a/wireguard/libwg/build-android.sh b/wireguard/libwg/build-android.sh
index a94a54bc23..8bd5d5a9f3 100755
--- a/wireguard/libwg/build-android.sh
+++ b/wireguard/libwg/build-android.sh
@@ -10,32 +10,30 @@ cd $script_dir
export GOPATH=$script_dir/../../build/android-go-path/
mkdir -p $GOPATH
+ANDROID_STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/llvm-strip"
+
for arch in ${ARCHITECTURES:-armv7 aarch64 x86_64 i686}; do
case "$arch" in
"aarch64")
export ANDROID_C_COMPILER="${NDK_TOOLCHAIN_DIR}/aarch64-linux-android21-clang"
- export ANDROID_STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/aarch64-linux-android-strip"
export RUST_TARGET_TRIPLE="aarch64-linux-android"
export ANDROID_ABI="arm64-v8a"
export ANDROID_ARCH_NAME="arm64"
;;
"x86_64")
export ANDROID_C_COMPILER="${NDK_TOOLCHAIN_DIR}/x86_64-linux-android21-clang"
- export ANDROID_STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/x86_64-linux-android-strip"
export RUST_TARGET_TRIPLE="x86_64-linux-android"
export ANDROID_ABI="x86_64"
export ANDROID_ARCH_NAME="x86_64"
;;
"armv7")
export ANDROID_C_COMPILER="${NDK_TOOLCHAIN_DIR}/armv7a-linux-androideabi21-clang"
- export ANDROID_STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/arm-linux-androideabi-strip"
export RUST_TARGET_TRIPLE="armv7-linux-androideabi"
export ANDROID_ABI="armeabi-v7a"
export ANDROID_ARCH_NAME="arm"
;;
"i686")
export ANDROID_C_COMPILER="${NDK_TOOLCHAIN_DIR}/i686-linux-android21-clang"
- export ANDROID_STRIP_TOOL="${NDK_TOOLCHAIN_DIR}/i686-linux-android-strip"
export RUST_TARGET_TRIPLE="i686-linux-android"
export ANDROID_ABI="x86"
export ANDROID_ARCH_NAME="x86"
@@ -45,9 +43,6 @@ for arch in ${ARCHITECTURES:-armv7 aarch64 x86_64 i686}; do
# Build Wireguard-Go
echo $(pwd)
make -f Android.mk clean
-
- export CFLAGS="-D__ANDROID_API__=21"
-
make -f Android.mk
# Strip and copy the libray to `android/build/extraJni/$ANDROID_ABI` to be able to build the APK