Committed by
GitHub
update build script for android (#72)
* update build script for android * small fixes
正在显示
4 个修改的文件
包含
93 行增加
和
8 行删除
| @@ -13,6 +13,7 @@ sherpa-onnx-streaming-zipformer-* | @@ -13,6 +13,7 @@ sherpa-onnx-streaming-zipformer-* | ||
| 13 | sherpa-onnx-lstm-en-* | 13 | sherpa-onnx-lstm-en-* |
| 14 | sherpa-onnx-lstm-zh-* | 14 | sherpa-onnx-lstm-zh-* |
| 15 | build-android-arm64-v8a/ | 15 | build-android-arm64-v8a/ |
| 16 | +build-android-armv7-eabi/ | ||
| 16 | build-android-x86-64/ | 17 | build-android-x86-64/ |
| 17 | a.txt | 18 | a.txt |
| 18 | run-bilingual*.sh | 19 | run-bilingual*.sh |
| @@ -35,3 +36,4 @@ tokens.txt | @@ -35,3 +36,4 @@ tokens.txt | ||
| 35 | *.onnx | 36 | *.onnx |
| 36 | log.txt | 37 | log.txt |
| 37 | tags | 38 | tags |
| 39 | +android/SherpaOnnx/app/src/main/assets/ |
| 1 | #!/usr/bin/env bash | 1 | #!/usr/bin/env bash |
| 2 | set -ex | 2 | set -ex |
| 3 | 3 | ||
| 4 | -dir=build-android-arm64-v8a | 4 | +dir=$PWD/build-android-arm64-v8a |
| 5 | 5 | ||
| 6 | mkdir -p $dir | 6 | mkdir -p $dir |
| 7 | cd $dir | 7 | cd $dir |
| @@ -43,7 +43,7 @@ fi | @@ -43,7 +43,7 @@ fi | ||
| 43 | echo "ANDROID_NDK: $ANDROID_NDK" | 43 | echo "ANDROID_NDK: $ANDROID_NDK" |
| 44 | sleep 1 | 44 | sleep 1 |
| 45 | 45 | ||
| 46 | -if [ ! -f android-onnxruntime-libs/jni/arm64-v8a/libonnxruntime.so ]; then | 46 | +if [ ! -f ./android-onnxruntime-libs/jni/arm64-v8a/libonnxruntime.so ]; then |
| 47 | GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/android-onnxruntime-libs | 47 | GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/android-onnxruntime-libs |
| 48 | pushd android-onnxruntime-libs | 48 | pushd android-onnxruntime-libs |
| 49 | git lfs pull --include "jni/arm64-v8a/libonnxruntime.so" | 49 | git lfs pull --include "jni/arm64-v8a/libonnxruntime.so" |
| @@ -60,8 +60,8 @@ if (( $filesize < 1000 )); then | @@ -60,8 +60,8 @@ if (( $filesize < 1000 )); then | ||
| 60 | exit 1 | 60 | exit 1 |
| 61 | fi | 61 | fi |
| 62 | 62 | ||
| 63 | -export SHERPA_ONNXRUNTIME_LIB_DIR=$PWD/android-onnxruntime-libs/jni/arm64-v8a/ | ||
| 64 | -export SHERPA_ONNXRUNTIME_INCLUDE_DIR=$PWD/android-onnxruntime-libs/headers/ | 63 | +export SHERPA_ONNXRUNTIME_LIB_DIR=$dir/android-onnxruntime-libs/jni/arm64-v8a/ |
| 64 | +export SHERPA_ONNXRUNTIME_INCLUDE_DIR=$dir/android-onnxruntime-libs/headers/ | ||
| 65 | 65 | ||
| 66 | echo "SHERPA_ONNXRUNTIME_LIB_DIR: $SHERPA_ONNXRUNTIME_LIB_DIR" | 66 | echo "SHERPA_ONNXRUNTIME_LIB_DIR: $SHERPA_ONNXRUNTIME_LIB_DIR" |
| 67 | echo "SHERPA_ONNXRUNTIME_INCLUDE_DIR $SHERPA_ONNXRUNTIME_INCLUDE_DIR" | 67 | echo "SHERPA_ONNXRUNTIME_INCLUDE_DIR $SHERPA_ONNXRUNTIME_INCLUDE_DIR" |
build-android-armv7-eabi.sh
0 → 100755
| 1 | +#!/usr/bin/env bash | ||
| 2 | +set -ex | ||
| 3 | + | ||
| 4 | +dir=$PWD/build-android-armv7-eabi | ||
| 5 | + | ||
| 6 | +mkdir -p $dir | ||
| 7 | +cd $dir | ||
| 8 | + | ||
| 9 | +# Note from https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-android | ||
| 10 | +# (optional) remove the hardcoded debug flag in Android NDK android-ndk | ||
| 11 | +# issue: https://github.com/android/ndk/issues/243 | ||
| 12 | +# | ||
| 13 | +# open $ANDROID_NDK/build/cmake/android.toolchain.cmake for ndk < r23 | ||
| 14 | +# or $ANDROID_NDK/build/cmake/android-legacy.toolchain.cmake for ndk >= r23 | ||
| 15 | +# | ||
| 16 | +# delete "-g" line | ||
| 17 | +# | ||
| 18 | +# list(APPEND ANDROID_COMPILER_FLAGS | ||
| 19 | +# -g | ||
| 20 | +# -DANDROID | ||
| 21 | + | ||
| 22 | +if [ -z $ANDROID_NDK ]; then | ||
| 23 | + ANDROID_NDK=/ceph-fj/fangjun/software/android-sdk/ndk/21.0.6113669 | ||
| 24 | + # or use | ||
| 25 | + # ANDROID_NDK=/ceph-fj/fangjun/software/android-ndk | ||
| 26 | + # | ||
| 27 | + # Inside the $ANDROID_NDK directory, you can find a binary ndk-build | ||
| 28 | + # and some other files like the file "build/cmake/android.toolchain.cmake" | ||
| 29 | + | ||
| 30 | + if [ ! -d $ANDROID_NDK ]; then | ||
| 31 | + # For macOS, I have installed Android Studio, select the menu | ||
| 32 | + # Tools -> SDK manager -> Android SDK | ||
| 33 | + # and set "Android SDK location" to /Users/fangjun/software/my-android | ||
| 34 | + ANDROID_NDK=/Users/fangjun/software/my-android/ndk/22.1.7171670 | ||
| 35 | + fi | ||
| 36 | +fi | ||
| 37 | + | ||
| 38 | +if [ ! -d $ANDROID_NDK ]; then | ||
| 39 | + echo Please set the environment variable ANDROID_NDK before you run this script | ||
| 40 | + exit 1 | ||
| 41 | +fi | ||
| 42 | + | ||
| 43 | +echo "ANDROID_NDK: $ANDROID_NDK" | ||
| 44 | +sleep 1 | ||
| 45 | + | ||
| 46 | +if [ ! -f ./android-onnxruntime-libs/jni/armeabi-v7a/libonnxruntime.so ]; then | ||
| 47 | + GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/android-onnxruntime-libs | ||
| 48 | + pushd android-onnxruntime-libs | ||
| 49 | + git lfs pull --include "jni/armeabi-v7a/libonnxruntime.so" | ||
| 50 | + popd | ||
| 51 | +fi | ||
| 52 | + | ||
| 53 | +ls -l ./android-onnxruntime-libs/jni/armeabi-v7a/libonnxruntime.so | ||
| 54 | + | ||
| 55 | +# check filesize | ||
| 56 | +filesize=$(ls -l ./android-onnxruntime-libs/jni/armeabi-v7a/libonnxruntime.so | tr -s " " " " | cut -d " " -f 5) | ||
| 57 | +if (( $filesize < 1000 )); then | ||
| 58 | + ls -lh ./android-onnxruntime-libs/jni/armeabi-v7a/libonnxruntime.so | ||
| 59 | + echo "Please use: git lfs pull to download libonnxruntime.so" | ||
| 60 | + exit 1 | ||
| 61 | +fi | ||
| 62 | + | ||
| 63 | +export SHERPA_ONNXRUNTIME_LIB_DIR=$dir/android-onnxruntime-libs/jni/armeabi-v7a/ | ||
| 64 | +export SHERPA_ONNXRUNTIME_INCLUDE_DIR=$dir/android-onnxruntime-libs/headers/ | ||
| 65 | + | ||
| 66 | +echo "SHERPA_ONNXRUNTIME_LIB_DIR: $SHERPA_ONNXRUNTIME_LIB_DIR" | ||
| 67 | +echo "SHERPA_ONNXRUNTIME_INCLUDE_DIR $SHERPA_ONNXRUNTIME_INCLUDE_DIR" | ||
| 68 | + | ||
| 69 | +cmake -DCMAKE_TOOLCHAIN_FILE="$ANDROID_NDK/build/cmake/android.toolchain.cmake" \ | ||
| 70 | + -DCMAKE_BUILD_TYPE=Release \ | ||
| 71 | + -DBUILD_SHARED_LIBS=ON \ | ||
| 72 | + -DSHERPA_ONNX_ENABLE_PYTHON=OFF \ | ||
| 73 | + -DSHERPA_ONNX_ENABLE_TESTS=OFF \ | ||
| 74 | + -DSHERPA_ONNX_ENABLE_CHECK=OFF \ | ||
| 75 | + -DSHERPA_ONNX_ENABLE_PORTAUDIO=OFF \ | ||
| 76 | + -DSHERPA_ONNX_ENABLE_JNI=ON \ | ||
| 77 | + -DCMAKE_INSTALL_PREFIX=./install \ | ||
| 78 | + -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON \ | ||
| 79 | + -DANDROID_PLATFORM=android-21 .. | ||
| 80 | +# make VERBOSE=1 -j4 | ||
| 81 | +make -j4 | ||
| 82 | +make install/strip | ||
| 83 | +cp -fv android-onnxruntime-libs/jni/armeabi-v7a/libonnxruntime.so install/lib |
| 1 | #!/usr/bin/env bash | 1 | #!/usr/bin/env bash |
| 2 | set -ex | 2 | set -ex |
| 3 | 3 | ||
| 4 | -dir=build-android-x86-64 | 4 | +dir=$PWD/build-android-x86-64 |
| 5 | 5 | ||
| 6 | mkdir -p $dir | 6 | mkdir -p $dir |
| 7 | cd $dir | 7 | cd $dir |
| @@ -43,7 +43,7 @@ fi | @@ -43,7 +43,7 @@ fi | ||
| 43 | echo "ANDROID_NDK: $ANDROID_NDK" | 43 | echo "ANDROID_NDK: $ANDROID_NDK" |
| 44 | sleep 1 | 44 | sleep 1 |
| 45 | 45 | ||
| 46 | -if [ ! -f android-onnxruntime-libs/jni/x86_64/libonnxruntime.so ]; then | 46 | +if [ ! -f ./android-onnxruntime-libs/jni/x86_64/libonnxruntime.so ]; then |
| 47 | GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/android-onnxruntime-libs | 47 | GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/csukuangfj/android-onnxruntime-libs |
| 48 | pushd android-onnxruntime-libs | 48 | pushd android-onnxruntime-libs |
| 49 | git lfs pull --include "jni/x86_64/libonnxruntime.so" | 49 | git lfs pull --include "jni/x86_64/libonnxruntime.so" |
| @@ -60,8 +60,8 @@ if (( $filesize < 1000 )); then | @@ -60,8 +60,8 @@ if (( $filesize < 1000 )); then | ||
| 60 | exit 1 | 60 | exit 1 |
| 61 | fi | 61 | fi |
| 62 | 62 | ||
| 63 | -export SHERPA_ONNXRUNTIME_LIB_DIR=$PWD/android-onnxruntime-libs/jni/x86_64/ | ||
| 64 | -export SHERPA_ONNXRUNTIME_INCLUDE_DIR=$PWD/android-onnxruntime-libs/headers/ | 63 | +export SHERPA_ONNXRUNTIME_LIB_DIR=$dir/android-onnxruntime-libs/jni/x86_64/ |
| 64 | +export SHERPA_ONNXRUNTIME_INCLUDE_DIR=$dir/android-onnxruntime-libs/headers/ | ||
| 65 | 65 | ||
| 66 | echo "SHERPA_ONNXRUNTIME_LIB_DIR: $SHERPA_ONNXRUNTIME_LIB_DIR" | 66 | echo "SHERPA_ONNXRUNTIME_LIB_DIR: $SHERPA_ONNXRUNTIME_LIB_DIR" |
| 67 | echo "SHERPA_ONNXRUNTIME_INCLUDE_DIR $SHERPA_ONNXRUNTIME_INCLUDE_DIR" | 67 | echo "SHERPA_ONNXRUNTIME_INCLUDE_DIR $SHERPA_ONNXRUNTIME_INCLUDE_DIR" |
-
请 注册 或 登录 后发表评论