From 1f7b43f94eaae92ec5e69c865ca2dcace9b9ba18 Mon Sep 17 00:00:00 2001 From: Reuben Morais Date: Mon, 25 Oct 2021 10:40:57 +0200 Subject: [PATCH] Package libkenlm.so, libtensorflowlite.so and libtflitedelegates.so in AAR --- .github/workflows/build-and-test.yml | 6 ++-- native_client/java/libstt/CMakeLists.txt | 39 ++++++++++++++++++------ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 89946849..6d8256e9 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -3493,7 +3493,7 @@ jobs: mkdir -p native_client/java/libstt/libs/armeabi-v7a cd /tmp/nc tar xvf native_client.tar.xz - mv libstt.so ${CI_TASK_DIR}/native_client/java/libstt/libs/armeabi-v7a/libstt.so + mv libstt.so libtensorflowlite.so libkenlm.so libtflitedelegates.so ${CI_TASK_DIR}/native_client/java/libstt/libs/armeabi-v7a/ rm -f * - uses: actions/download-artifact@v2 with: @@ -3503,7 +3503,7 @@ jobs: mkdir -p native_client/java/libstt/libs/arm64-v8a cd /tmp/nc tar xvf native_client.tar.xz - mv libstt.so ${CI_TASK_DIR}/native_client/java/libstt/libs/arm64-v8a/libstt.so + mv libstt.so libtensorflowlite.so libkenlm.so libtflitedelegates.so ${CI_TASK_DIR}/native_client/java/libstt/libs/arm64-v8a/ rm -f * - uses: actions/download-artifact@v2 with: @@ -3513,7 +3513,7 @@ jobs: mkdir -p native_client/java/libstt/libs/x86_64 cd /tmp/nc tar xvf native_client.tar.xz - mv libstt.so ${CI_TASK_DIR}/native_client/java/libstt/libs/x86_64/libstt.so + mv libstt.so libtensorflowlite.so libkenlm.so libtflitedelegates.so ${CI_TASK_DIR}/native_client/java/libstt/libs/x86_64/ rm -f * - name: Use Java 8 instead of Java 11 run: echo "JAVA_HOME=$JAVA_HOME_8_X64" >> $GITHUB_ENV diff --git a/native_client/java/libstt/CMakeLists.txt b/native_client/java/libstt/CMakeLists.txt index 040d17a5..3219ab18 100644 --- a/native_client/java/libstt/CMakeLists.txt +++ b/native_client/java/libstt/CMakeLists.txt @@ -19,20 +19,41 @@ add_library( # Sets the name of the library. # Provides a relative path to your source file(s). ../jni/stt_wrap.cpp ) -add_library( stt-lib - SHARED - IMPORTED ) +add_library(stt-lib SHARED IMPORTED) +set_target_properties(stt-lib PROPERTIES + IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libstt.so) -set_target_properties( stt-lib - PROPERTIES - IMPORTED_LOCATION - ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libstt.so ) +add_library(kenlm-lib SHARED IMPORTED) +set_target_properties(kenlm-lib PROPERTIES + IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libkenlm.so) -add_custom_command( TARGET stt-jni POST_BUILD +add_library(tensorflowlite-lib SHARED IMPORTED) +set_target_properties(tensorflowlite-lib PROPERTIES + IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libtensorflowlite.so) + +add_library(tflitedelegates-lib SHARED IMPORTED) +set_target_properties(tflitedelegates-lib PROPERTIES + IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libtflitedelegates.so) + +add_custom_command(TARGET stt-jni POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libstt.so - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libstt.so ) + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libstt.so) +add_custom_command(TARGET stt-jni POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libkenlm.so + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libkenlm.so) + +add_custom_command(TARGET stt-jni POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libtensorflowlite.so + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtensorflowlite.so) + +add_custom_command(TARGET stt-jni POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}/libtflitedelegates.so + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libtflitedelegates.so) # Searches for a specified prebuilt library and stores the path as a # variable. Because CMake includes system libraries in the search path by