From 0c24c9889b7fe3475ede889339bf567c88dd3e1f Mon Sep 17 00:00:00 2001 From: Samuel Audet Date: Tue, 19 Nov 2024 17:29:35 +0900 Subject: [PATCH] Upgrade to NDK r27c for Android builds on GitHub Actions --- .github/actions/deploy-ubuntu/action.yml | 6 +++--- ffmpeg/cppbuild.sh | 10 +++++----- tensorflow-lite/cppbuild.sh | 4 ++++ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/actions/deploy-ubuntu/action.yml b/.github/actions/deploy-ubuntu/action.yml index 402820aa92..57e6c0f42d 100644 --- a/.github/actions/deploy-ubuntu/action.yml +++ b/.github/actions/deploy-ubuntu/action.yml @@ -155,9 +155,9 @@ runs: fi if [[ $CI_DEPLOY_PLATFORM == android-* ]]; then - curl -LO https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip - unzip -qq android-ndk-r21e-linux-x86_64.zip - ln -sf android-ndk-r21e android-ndk + curl -LO https://dl.google.com/android/repository/android-ndk-r27c-linux.zip + unzip -qq android-ndk-r27c-linux.zip + ln -sf android-ndk-r27c android-ndk export MAVEN_OPTIONS="-Djavacpp.platform.root=$(pwd)/android-ndk/ -Djava.library.path=" else export MAVEN_OPTIONS="-Djavacpp.platform.compiler=$PREFIX-g++ -Djava.library.path=/usr/$PREFIX/lib/:/usr/lib/$PREFIX/:$USERLAND_PATH/build/lib/" diff --git a/ffmpeg/cppbuild.sh b/ffmpeg/cppbuild.sh index 5f0d725824..c2faa8d728 100755 --- a/ffmpeg/cppbuild.sh +++ b/ffmpeg/cppbuild.sh @@ -116,7 +116,7 @@ export PATH=$INSTALL_PATH/bin:$PATH export PKG_CONFIG_PATH=$INSTALL_PATH/lib/pkgconfig/ patch -Np1 -d $LAME < ../../lame.patch -patch -Np1 -d $OPENSSL < ../../openssl-android.patch +# patch -Np1 -d $OPENSSL < ../../openssl-android.patch patch -Np1 -d ffmpeg-$FFMPEG_VERSION < ../../ffmpeg.patch patch -Np1 -d ffmpeg-$FFMPEG_VERSION < ../../ffmpeg-vulkan.patch # patch -Np1 -d ffmpeg-$FFMPEG_VERSION < ../../ffmpeg-flv-support-hevc-opus.patch @@ -197,7 +197,7 @@ case $PLATFORM in make install cd ../$OPENSSL PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ./Configure --prefix=$INSTALL_PATH --libdir=lib android-arm no-shared no-tests -D__ANDROID_API__=24 - ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ + PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ make install_dev cd ../srt-$LIBSRT_VERSION patch -Np1 < ../../../srt-android.patch || true @@ -353,7 +353,7 @@ EOF make install cd ../$OPENSSL PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ./Configure --prefix=$INSTALL_PATH --libdir=lib android-arm64 no-shared no-tests -D__ANDROID_API__=24 - ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ + PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ make install_dev cd ../srt-$LIBSRT_VERSION patch -Np1 < ../../../srt-android.patch || true @@ -508,7 +508,7 @@ EOF make install cd ../$OPENSSL PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ./Configure --prefix=$INSTALL_PATH --libdir=lib android-x86 no-shared no-tests -D__ANDROID_API__=24 - ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ + PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ make install_dev cd ../srt-$LIBSRT_VERSION patch -Np1 < ../../../srt-android.patch || true @@ -660,7 +660,7 @@ EOF make install cd ../$OPENSSL PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ./Configure --prefix=$INSTALL_PATH --libdir=lib android-x86_64 no-shared no-tests -D__ANDROID_API__=24 - ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ + PATH="${ANDROID_CC%/*}:$ANDROID_BIN/bin:$PATH" ANDROID_DEV="$ANDROID_ROOT/usr" make -s -j $MAKEJ make install_dev cd ../srt-$LIBSRT_VERSION patch -Np1 < ../../../srt-android.patch || true diff --git a/tensorflow-lite/cppbuild.sh b/tensorflow-lite/cppbuild.sh index 742cb9a786..f2017a32af 100755 --- a/tensorflow-lite/cppbuild.sh +++ b/tensorflow-lite/cppbuild.sh @@ -49,15 +49,19 @@ cd build case $PLATFORM in android-arm) + export AR=ar export CMAKE_FLAGS="-DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_NATIVE_API_LEVEL=24 $CMAKE_FLAGS" ;; android-arm64) + export AR=ar export CMAKE_FLAGS="-DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=24 -DXNNPACK_ENABLE_ARM_I8MM=OFF $CMAKE_FLAGS" ;; android-x86) + export AR=ar export CMAKE_FLAGS="-DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86 -DANDROID_NATIVE_API_LEVEL=24 $CMAKE_FLAGS" ;; android-x86_64) + export AR=ar export CMAKE_FLAGS="-DCMAKE_TOOLCHAIN_FILE=${PLATFORM_ROOT}/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DANDROID_NATIVE_API_LEVEL=24 -DXNNPACK_ENABLE_AVXVNNI=OFF $CMAKE_FLAGS" ;; linux-armhf)