From 4c3f066fa8ef781ce61f3caf6ce8fd8f9e6bf008 Mon Sep 17 00:00:00 2001
From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com>
Date: Wed, 12 Oct 2022 13:11:34 -0300
Subject: [PATCH] android: clean build

Change-Id: I45a059974db868bbe2039dc21354b6a227773f3d
---
 AudioFilter/build.sh                  |  43 ++-------
 AutoAnswer/build.sh                   |  43 ++-------
 GreenScreen/build.sh                  |  42 ++-------
 GreenScreen/ffmpeg/rules.mak          |   1 +
 HelloWorld/build.sh                   |  45 ++--------
 README_ASSEMBLE.md                    |   9 +-
 SDK/Templates/build.sh                |  45 ++--------
 TensorflowSegmentation/build.sh       |  42 ++-------
 WaterMark/build.sh                    |  41 ++-------
 contrib/build-dependencies.sh         | 124 +++++++++++---------------
 docker/Dockerfile_android_onnxruntime |  29 +++---
 11 files changed, 121 insertions(+), 343 deletions(-)

diff --git a/AudioFilter/build.sh b/AudioFilter/build.sh
index 36e6d30..e620f66 100755
--- a/AudioFilter/build.sh
+++ b/AudioFilter/build.sh
@@ -214,39 +214,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -272,21 +260,6 @@ then
         #NDK SOURCES FOR cpufeatures
         NDK_SOURCES=${ANDROID_NDK}/sources/android
 
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
-
         if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then
             rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg"
         fi
@@ -301,12 +274,10 @@ then
         #=========================================================
 
         # Create so destination folder
-        $CXX --std=c++17 -O3 -g -fPIC \
+        $CXX --std=c++17 -O3 -fPIC \
         -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
         -shared \
         -Wall -Wextra \
-        -Wno-unused-variable \
-        -Wno-unused-function \
         -Wno-unused-parameter \
         -I"." \
         -I"${DAEMON_SRC}" \
diff --git a/AutoAnswer/build.sh b/AutoAnswer/build.sh
index 8b136ec..1bdfb94 100755
--- a/AutoAnswer/build.sh
+++ b/AutoAnswer/build.sh
@@ -135,39 +135,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -190,29 +178,12 @@ then
         CONTRIB_PLATFORM=x86_64-linux-android
         fi
 
-        #NDK SOURCES FOR cpufeatures
-        NDK_SOURCES=${ANDROID_NDK}/sources/android
-
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
         #=========================================================
         #    Compile the plugin
         #=========================================================
 
         # Create so destination folder
-        $CXX --std=c++17 -O3 -g -fPIC \
+        $CXX --std=c++17 -O3 -fPIC \
         -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
         -shared \
         -Wall -Wextra \
diff --git a/GreenScreen/build.sh b/GreenScreen/build.sh
index 725334d..010b81f 100755
--- a/GreenScreen/build.sh
+++ b/GreenScreen/build.sh
@@ -298,39 +298,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -356,20 +344,6 @@ then
         #NDK SOURCES FOR cpufeatures
         NDK_SOURCES=${ANDROID_NDK}/sources/android
 
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
         if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then
             rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg"
         fi
@@ -396,12 +370,10 @@ then
         fi
 
         # Create so destination folder
-        $CXX --std=c++17 -O3 -g -fPIC \
+        $CXX --std=c++17 -O3 -fPIC \
         -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
         -shared \
         -Wall -Wextra \
-        -Wno-unused-variable \
-        -Wno-unused-function \
         -Wno-unused-parameter \
         -DANDROID \
         -I"." \
diff --git a/GreenScreen/ffmpeg/rules.mak b/GreenScreen/ffmpeg/rules.mak
index 372c048..86b58a8 100644
--- a/GreenScreen/ffmpeg/rules.mak
+++ b/GreenScreen/ffmpeg/rules.mak
@@ -201,6 +201,7 @@ FFMPEGCONF += \
 	--target-os=android \
 	--enable-jni \
 	--enable-mediacodec \
+	--disable-vulkan \
 	--enable-decoder=vp8_mediacodec \
 	--enable-decoder=h264_mediacodec \
 	--enable-decoder=mpeg4_mediacodec \
diff --git a/HelloWorld/build.sh b/HelloWorld/build.sh
index 75f14c1..f1a89e0 100755
--- a/HelloWorld/build.sh
+++ b/HelloWorld/build.sh
@@ -161,39 +161,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -216,34 +204,15 @@ then
         CONTRIB_PLATFORM=x86_64-linux-android
         fi
 
-        #NDK SOURCES FOR cpufeatures
-        NDK_SOURCES=${ANDROID_NDK}/sources/android
-
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
         #=========================================================
         #    Compile the plugin
         #=========================================================
 
         # Create so destination folder
-        $CXX --std=c++17 -O3 -g -fPIC \
+        $CXX --std=c++17 -O3 -fPIC \
         -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
         -shared \
         -Wall -Wextra \
-        -Wno-unused-variable \
-        -Wno-unused-function \
         -Wno-unused-parameter \
         -I"." \
         -I"${DAEMON_SRC}" \
diff --git a/README_ASSEMBLE.md b/README_ASSEMBLE.md
index a1c96b2..d83c45d 100644
--- a/README_ASSEMBLE.md
+++ b/README_ASSEMBLE.md
@@ -16,10 +16,11 @@ For Android:
         export TARGET=aarch64-linux-android
         export CC=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang
         export CXX=$TOOLCHAIN/bin/$TARGET$ANDROID_API-clang++
-        export AR=$TOOLCHAIN/bin/$TARGET-ar
-        export LD=$TOOLCHAIN/bin/$TARGET-ld
-        export RANLIB=$TOOLCHAIN/bin/$TARGET-ranlib
-        export STRIP=$TOOLCHAIN/bin/$TARGET-strip
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
         export PATH=$PATH:$TOOLCHAIN/bin
         cd contrib
         mkdir native
diff --git a/SDK/Templates/build.sh b/SDK/Templates/build.sh
index 5f47c01..6c23c16 100644
--- a/SDK/Templates/build.sh
+++ b/SDK/Templates/build.sh
@@ -97,39 +97,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -152,34 +140,15 @@ then
         CONTRIB_PLATFORM=x86_64-linux-android
         fi
 
-        #NDK SOURCES FOR cpufeatures
-        NDK_SOURCES=${ANDROID_NDK}/sources/android
-
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
         #=========================================================
         #    Compile the plugin
         #=========================================================
 
         # Create so destination folder
-        $CXX --std=c++17 -O3 -g -fPIC \
+        $CXX --std=c++17 -O3 -fPIC \
         -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
         -shared \
         -Wall -Wextra \
-        -Wno-unused-variable \
-        -Wno-unused-function \
         -Wno-unused-parameter \
         -I"." \
         -I"${DAEMON_SRC}" \
diff --git a/TensorflowSegmentation/build.sh b/TensorflowSegmentation/build.sh
index b2c3a13..ddeb354 100755
--- a/TensorflowSegmentation/build.sh
+++ b/TensorflowSegmentation/build.sh
@@ -205,39 +205,27 @@ then
             #=========================================================
             export HOST_TAG=linux-x86_64
             export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+            export AR=$TOOLCHAIN/bin/llvm-ar
+            export AS=$TOOLCHAIN/bin/llvm-as
+            export LD=$TOOLCHAIN/bin/ld
+            export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+            export STRIP=$TOOLCHAIN/bin/llvm-strip
+            export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
             if [ "$CURRENT_ABI" = armeabi-v7a ]
             then
-            export AR=$TOOLCHAIN/bin/arm-linux-android-ar
-            export AS=$TOOLCHAIN/bin/arm-linux-android-as
             export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
             export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-            export LD=$TOOLCHAIN/bin/arm-linux-android-ld
-            export RANLIB=$TOOLCHAIN/bin/arm-linux-android-ranlib
-            export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-            export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
             elif [ "$CURRENT_ABI" = arm64-v8a ]
             then
-            export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-            export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
             export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
             export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-            export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-            export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-            export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-            export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
             elif [ "$CURRENT_ABI" = x86_64 ]
             then
-            export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-            export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
             export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
             export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-            export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-            export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-            export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-            export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
             else
             echo "ABI NOT OK" >&2
@@ -263,20 +251,6 @@ then
             #NDK SOURCES FOR cpufeatures
             NDK_SOURCES=${ANDROID_NDK}/sources/android
 
-            #=========================================================
-            #    LD_FLAGS
-            #=========================================================
-            if [ "$CURRENT_ABI" = armeabi-v7a ]
-            then
-            export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-            elif [ "$CURRENT_ABI" = arm64-v8a ]
-            then
-            export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-            elif [ "$CURRENT_ABI" = x86_64 ]
-            then
-            export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-            fi
-
             #=========================================================
             #    Compile CPU FEATURES, NEEDED FOR OPENCV
             #=========================================================
@@ -287,12 +261,10 @@ then
             #=========================================================
 
             # Create so destination folder
-            $CXX --std=c++17 -O3 -g -fPIC \
+            $CXX --std=c++17 -O3 -fPIC \
             -Wl,-Bsymbolic,-rpath,"\${ORIGIN}" \
             -shared \
             -Wall -Wextra \
-            -Wno-unused-variable \
-            -Wno-unused-function \
             -Wno-unused-parameter \
             -DTFLITE \
             -I"." \
diff --git a/WaterMark/build.sh b/WaterMark/build.sh
index f2a3e37..7df63f2 100755
--- a/WaterMark/build.sh
+++ b/WaterMark/build.sh
@@ -221,39 +221,27 @@ then
         #=========================================================
         export HOST_TAG=linux-x86_64
         export TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
+        export AR=$TOOLCHAIN/bin/llvm-ar
+        export AS=$TOOLCHAIN/bin/llvm-as
+        export LD=$TOOLCHAIN/bin/ld
+        export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
+        export STRIP=$TOOLCHAIN/bin/llvm-strip
+        export ANDROID_SYSROOT=$TOOLCHAIN/sysroot
 
         if [ "$CURRENT_ABI" = armeabi-v7a ]
         then
-        export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
-        export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
         export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang
         export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi21-clang++
-        export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ld
-        export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
-        export STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm/sysroot
 
         elif [ "$CURRENT_ABI" = arm64-v8a ]
         then
-        export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/aarch64-linux-android-as
         export CC=$TOOLCHAIN/bin/aarch64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/aarch64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-arm64/sysroot
 
         elif [ "$CURRENT_ABI" = x86_64 ]
         then
-        export AR=$TOOLCHAIN/bin/x86_64-linux-android-ar
-        export AS=$TOOLCHAIN/bin/x86_64-linux-android-as
         export CC=$TOOLCHAIN/bin/x86_64-linux-android21-clang
         export CXX=$TOOLCHAIN/bin/x86_64-linux-android21-clang++
-        export LD=$TOOLCHAIN/bin/x86_64-linux-android-ld
-        export RANLIB=$TOOLCHAIN/bin/x86_64-linux-android-ranlib
-        export STRIP=$TOOLCHAIN/bin/x86_64-linux-android-strip
-        export ANDROID_SYSROOT=${DAEMON}/../client-android/android-toolchain-21-x86_64/sysroot
 
         else
         echo "ABI NOT OK" >&2
@@ -276,23 +264,6 @@ then
         CONTRIB_PLATFORM=x86_64-linux-android
         fi
 
-        #NDK SOURCES FOR cpufeatures
-        NDK_SOURCES=${ANDROID_NDK}/sources/android
-
-        #=========================================================
-        #    LD_FLAGS
-        #=========================================================
-        if [ "$CURRENT_ABI" = armeabi-v7a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi -L${ANDROID_SYSROOT}/usr/lib/arm-linux-androideabi/21"
-        elif [ "$CURRENT_ABI" = arm64-v8a ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android -L${ANDROID_SYSROOT}/usr/lib/aarch64-linux-android/21"
-        elif [ "$CURRENT_ABI" = x86_64 ]
-        then
-        export EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android -L${ANDROID_SYSROOT}/usr/lib/x86_64-linux-android/21"
-        fi
-
         if [ -f "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg" ]; then
             rm "${CONTRIB_PATH}/native-${CONTRIB_PLATFORM}/.ffmpeg"
         fi
diff --git a/contrib/build-dependencies.sh b/contrib/build-dependencies.sh
index aeb88b4..24f3f4a 100755
--- a/contrib/build-dependencies.sh
+++ b/contrib/build-dependencies.sh
@@ -14,68 +14,46 @@ if [ -z "$ANDROID_ABI" ]; then
    exit 1
 fi
 
-HAVE_ARM=0
-HAVE_X86=0
-HAVE_64=0
+platform=$(echo "`uname`" | tr '[:upper:]' '[:lower:]')
+arch=`uname -m`
 
 # Set up ABI variables
 if [ ${ANDROID_ABI} = "x86" ] ; then
-    TARGET_TUPLE="i686-linux-android"
-    PJ_TARGET_TUPLE="i686-pc-linux-android"
-    PATH_HOST="x86"
-    HAVE_X86=1
+    TARGET="i686-linux-android"
+    PJ_TARGET="i686-pc-linux-android"
     PLATFORM_SHORT_ARCH="x86"
 elif [ ${ANDROID_ABI} = "x86_64" ] ; then
-    TARGET_TUPLE="x86_64-linux-android"
-    PJ_TARGET_TUPLE="x86_64-pc-linux-android"
-    PATH_HOST="x86_64"
-    HAVE_X86=1
-    HAVE_64=1
+    TARGET="x86_64-linux-android"
+    PJ_TARGET="x86_64-pc-linux-android"
     PLATFORM_SHORT_ARCH="x86_64"
 elif [ ${ANDROID_ABI} = "arm64-v8a" ] ; then
-    TARGET_TUPLE="aarch64-linux-android"
-    PJ_TARGET_TUPLE="aarch64-unknown-linux-android"
-    PATH_HOST=$TARGET_TUPLE
-    HAVE_ARM=1
-    HAVE_64=1
+    TARGET="aarch64-linux-android"
+    PJ_TARGET="aarch64-unknown-linux-android"
     PLATFORM_SHORT_ARCH="arm64"
-else
-    TARGET_TUPLE="arm-linux-androideabi"
-    PJ_TARGET_TUPLE="arm-unknown-linux-androideabi"
-    PATH_HOST=$TARGET_TUPLE
-    HAVE_ARM=1
+elif [ ${ANDROID_ABI} = "armeabi-v7a" ] ; then
+    TARGET_CC="armv7a-linux-androideabi"
+    TARGET="arm-linux-androideabi"
+    PJ_TARGET="arm-unknown-linux-androideabi"
     PLATFORM_SHORT_ARCH="arm"
-fi
-
-if [ "${HAVE_64}" = 1 ];then
-    LIBDIR=lib64
 else
-    LIBDIR=lib
-fi
-ANDROID_API_VERS=21
-ANDROID_API=android-$ANDROID_API_VERS
-
-export ANDROID_TOOLCHAIN="`pwd`/../../client-android/android-toolchain-$ANDROID_API_VERS-$PLATFORM_SHORT_ARCH"
-if [ ! -d "$ANDROID_TOOLCHAIN" ]; then
-    $ANDROID_NDK/build/tools/make_standalone_toolchain.py \
-        --arch=$PLATFORM_SHORT_ARCH \
-        --api $ANDROID_API_VERS \
-        --stl libc++ \
-        --install-dir=$ANDROID_TOOLCHAIN
+    echo "ABI not supported"
+    exit 1
 fi
 
-export ANDROID_API
-export TARGET_TUPLE
-export HAVE_ARM
-export HAVE_X86
-export HAVE_64
+TARGET_CC=${TARGET_CC:-$TARGET}
+
+export API=21
+export ANDROID_API=android-$API
+export ANDROID_TOOLCHAIN="${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64"
+export TARGET
 
 # Add the NDK toolchain to the PATH, needed both for contribs and for building
 # stub libraries
 NDK_TOOLCHAIN_PATH="${ANDROID_TOOLCHAIN}/bin"
-CROSS_COMPILE=${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}-
 export PATH=${NDK_TOOLCHAIN_PATH}:${PATH}
-export CROSS_COMPILE="${CROSS_COMPILE}"
+export SYSROOT=$ANDROID_TOOLCHAIN/sysroot
+
+export CROSS_COMPILE="${NDK_TOOLCHAIN_PATH}/${TARGET_TUPLE}-"
 export SYSROOT=$ANDROID_TOOLCHAIN/sysroot
 
 if [ -z "$DAEMON_DIR" ]; then
@@ -93,32 +71,10 @@ if [ ! -d "$DAEMON_DIR" ]; then
 fi
 export DAEMON_DIR
 
-# Setup LDFLAGS
-if [ ${ANDROID_ABI} = "armeabi-v7a" ] ; then
-    EXTRA_CFLAGS="${EXTRA_CFLAGS} -march=armv7-a -mthumb -mfpu=vfpv3-d16"
-    EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -march=armv7-a -mthumb -mfpu=vfpv3-d16"
-elif [ ${ANDROID_ABI} = "arm64-v8a" ] ; then
-    EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${SYSROOT}/usr/lib -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/lib"
-fi
-EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/${LIBDIR}/${ANDROID_ABI} -L${ANDROID_TOOLCHAIN}/${TARGET_TUPLE}/${LIBDIR}"
-EXTRA_CFLAGS="${EXTRA_CFLAGS} -fPIC"
-EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -fPIC"
-EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -L${SYSROOT}/usr/${LIBDIR}"
-echo "EXTRA_CFLAGS= ${EXTRA_CFLAGS}" >> config.mak
-echo "EXTRA_CXXFLAGS= ${EXTRA_CXXFLAGS}" >> config.mak
-echo "EXTRA_LDFLAGS= ${EXTRA_LDFLAGS}" >> config.mak
-
-echo "Daemon in debug mode."
-
 # Make in //
-UNAMES=$(uname -s)
 MAKEFLAGS=
-if which nproc >/dev/null
-then
-MAKEFLAGS=-j`nproc`
-elif [ "$UNAMES" == "Darwin" ] && which sysctl >/dev/null
-then
-MAKEFLAGS=-j`sysctl -n machdep.cpu.thread_count`
+if which nproc >/dev/null; then
+  MAKEFLAGS=-j`nproc`
 fi
 
 # Build buildsystem tools
@@ -130,12 +86,26 @@ make $MAKEFLAGS
 make .pkg-config
 make .gas
 
+# Setup cross-compilation build environemnt
+export AR=$NDK_TOOLCHAIN_PATH/llvm-ar
+export AS=$NDK_TOOLCHAIN_PATH/${TARGET}-as
+export CC=$NDK_TOOLCHAIN_PATH/$TARGET_CC$API-clang
+export CXX=$NDK_TOOLCHAIN_PATH/$TARGET_CC$API-clang++
+export LD=$NDK_TOOLCHAIN_PATH/ld
+export RANLIB=$NDK_TOOLCHAIN_PATH/llvm-ranlib
+export STRIP=$NDK_TOOLCHAIN_PATH/llvm-strip
+
+FLAGS_COMMON="-fPIC"
+EXTRA_CFLAGS="${EXTRA_CFLAGS} ${FLAGS_COMMON}"
+EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} ${FLAGS_COMMON}"
+EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -llog"
+
 ############
 # Contribs #
 ############
 echo "Building the contribs"
-CONTRIB_DIR=${DAEMON_DIR}/contrib/native-${TARGET_TUPLE}
-CONTRIB_SYSROOT=${DAEMON_DIR}/contrib/${TARGET_TUPLE}
+CONTRIB_DIR=${DAEMON_DIR}/contrib/native-${TARGET}
+CONTRIB_SYSROOT=${DAEMON_DIR}/contrib/${TARGET}
 mkdir -p ${CONTRIB_DIR}
 mkdir -p ${CONTRIB_SYSROOT}/lib/pkgconfig
 
@@ -143,7 +113,17 @@ echo "copying files"
 cp -r ${CURRENTDIR}/freetype ${DAEMON_DIR}/contrib/src
 
 cd ${CONTRIB_DIR}
-../bootstrap --host=${TARGET_TUPLE} --enable-freetype --enable-ffmpeg --disable-webrtc-audio-processing --disable-argon2 --disable-asio --enable-fmt --disable-gcrypt --disable-gmp --disable-gnutls --disable-gpg-error --disable-gsm --disable-http_parser --disable-jack --disable-jsoncpp --disable-libarchive --disable-libressl --disable-msgpack --disable-natpmp --disable-nettle --enable-opencv --disable-opendht --disable-pjproject --disable-portaudio --disable-restinio --disable-secp256k1 --disable-speexdsp --disable-upnp --disable-uuid --disable-yaml-cpp
+
+../bootstrap --host=${TARGET} --enable-freetype --enable-x264 --enable-ffmpeg \
+             --disable-webrtc-audio-processing --disable-argon2 \
+             --disable-asio --enable-fmt --disable-gcrypt --disable-gmp \
+             --disable-gnutls --disable-gpg-error --disable-gsm \
+             --disable-http_parser --disable-jack --disable-jsoncpp \
+             --disable-libarchive --disable-libressl --disable-msgpack \
+             --disable-natpmp --disable-nettle --enable-opencv --disable-opendht \
+             --disable-pjproject --disable-portaudio --disable-restinio \
+             --disable-secp256k1 --disable-speexdsp --disable-upnp \
+             --disable-uuid --disable-yaml-cpp
 
 make list
 make fetch
diff --git a/docker/Dockerfile_android_onnxruntime b/docker/Dockerfile_android_onnxruntime
index 5ea23e5..d57ef33 100644
--- a/docker/Dockerfile_android_onnxruntime
+++ b/docker/Dockerfile_android_onnxruntime
@@ -31,6 +31,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 	pkg-config \
 	software-properties-common \
 	python-is-python3 \
+	pip \
 	ssh \
 	unzip \
 	wget \
@@ -45,32 +46,32 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
 	&& locale-gen $LANG $LC_ALL && update-locale $LANG $LC_ALL
 
 # Android SDK tools
-ENV ANDROID_HOME /opt/android-sdk
-ENV ANDROID_SDK_ROOT ${ANDROID_HOME}
-RUN wget -O /tmp/android-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip && \
+RUN echo "prefer-family = IPv6" >> /etc/wgetrc
+ENV ANDROID_HOME=/opt/android-sdk
+ENV ANDROID_SDK_ROOT=${ANDROID_HOME}
+RUN wget -O /tmp/android-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip && \
 	mkdir -p ${ANDROID_HOME} && \
 	unzip -q -d ${ANDROID_HOME} /tmp/android-tools.zip && \
 	rm -f /tmp/android-tools.zip && \
 	chown -R root:root ${ANDROID_HOME}
-ENV PATH=${PATH}:${ANDROID_HOME}/tools/bin
+ENV PATH=${PATH}:${ANDROID_HOME}/cmdline-tools/bin
 
-# Swig 4.0.1
-RUN wget -O /tmp/swig.tar.gz https://github.com/swig/swig/archive/rel-4.0.1.tar.gz && \
+# Swig 4.0.2
+RUN wget -O /tmp/swig.tar.gz https://github.com/swig/swig/archive/rel-4.0.2.tar.gz && \
 	tar xzf  /tmp/swig.tar.gz -C /opt && \
-	cd /opt/swig-rel-4.0.1/ && ./autogen.sh && ./configure && make && make install && \
-	cd .. && rm -rf /opt/swig-rel-4.0.1 /tmp/swig.tar.gz
+	cd /opt/swig-rel-4.0.2/ && ./autogen.sh && ./configure && make && make install && \
+	cd .. && rm -rf /opt/swig-rel-4.0.2 /tmp/swig.tar.gz
 
 # Android SDK libraries, NDK
 RUN sdkmanager --sdk_root=${ANDROID_HOME} --update
-RUN (while sleep 1; do echo "y"; done) | sdkmanager --sdk_root=${ANDROID_HOME} 'build-tools;30.0.2' \
-	'platforms;android-30'\
+RUN (while sleep 1; do echo "y"; done) | sdkmanager --channel=1 --sdk_root=${ANDROID_HOME} 'build-tools;32.0.0' \
+	'platforms;android-32'\
 	'extras;android;m2repository'\
 	'extras;google;m2repository'\
-	'ndk;21.3.6528147'
-ENV ANDROID_SDK ${ANDROID_HOME}
-ENV ANDROID_NDK ${ANDROID_HOME}/ndk/21.3.6528147
+	'ndk;25.0.8775105'
+ENV ANDROID_SDK=${ANDROID_HOME}
+ENV ANDROID_NDK=${ANDROID_HOME}/ndk/25.0.8775105
 
 # Fastlane
 RUN gem install fastlane -NV
 ENV HOME=/tmp
-
-- 
GitLab