@@ -30,7 +30,7 @@ build_android_native_library() {
3030  cmake .  -DCMAKE_INSTALL_PREFIX=" ${CMAKE_OUT} "   \
3131    -DCMAKE_TOOLCHAIN_FILE=" ${ANDROID_NDK} /build/cmake/android.toolchain.cmake"   \
3232    -DANDROID_ABI=" ${ANDROID_ABI} "   \
33-     -DANDROID_PLATFORM=android-23  \
33+     -DANDROID_PLATFORM=android-26  \
3434    -DEXECUTORCH_ENABLE_LOGGING=ON \
3535    -DEXECUTORCH_LOG_LEVEL=Info \
3636    -DEXECUTORCH_BUILD_XNNPACK=ON \
@@ -42,6 +42,8 @@ build_android_native_library() {
4242    -DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON \
4343    -DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON \
4444    -DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
45+     -DEXECUTORCH_BUILD_NEURON=" ${EXECUTORCH_BUILD_NEURON} "   \
46+     -DNEURON_BUFFER_ALLOCATOR_LIB=" ${NEURON_BUFFER_ALLOCATOR_LIB} "   \
4547    -DEXECUTORCH_BUILD_QNN=" ${EXECUTORCH_BUILD_QNN} "   \
4648    -DQNN_SDK_ROOT=" ${QNN_SDK_ROOT} "   \
4749    -DCMAKE_BUILD_TYPE=Release \
@@ -57,10 +59,12 @@ build_android_native_library() {
5759  cmake extension/android \
5860    -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake \
5961    -DANDROID_ABI=" ${ANDROID_ABI} "   \
60-     -DANDROID_PLATFORM=android-23  \
62+     -DANDROID_PLATFORM=android-26  \
6163    -DCMAKE_INSTALL_PREFIX=" ${CMAKE_OUT} "   \
6264    -DEXECUTORCH_ENABLE_LOGGING=ON \
6365    -DEXECUTORCH_LOG_LEVEL=Info \
66+     -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH \
67+     -DNEURON_BUFFER_ALLOCATOR_LIB=" $NEURON_BUFFER_ALLOCATOR_LIB "   \
6468    -DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
6569    -DEXECUTORCH_BUILD_LLAMA_JNI=ON \
6670    -DCMAKE_BUILD_TYPE=Release \
@@ -84,6 +88,13 @@ build_android_native_library() {
8488    cp " ${QNN_SDK_ROOT} "  /lib/hexagon-v73/unsigned/libQnnHtpV73Skel.so " ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /" 
8589    cp " ${QNN_SDK_ROOT} "  /lib/hexagon-v75/unsigned/libQnnHtpV75Skel.so " ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /" 
8690  fi 
91+ 
92+   #  Copy MTK related so library
93+   if  [ -n  " $NEURON_BUFFER_ALLOCATOR_LIB "   ] &&  [ " $ANDROID_ABI "   ==  " arm64-v8a"   ];  then 
94+     cp " ${CMAKE_OUT} "  /backends/mediatek/libneuron_backend.so ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /
95+     cp " $NEURON_BUFFER_ALLOCATOR_LIB "  /libneuron_buffer_allocator.so ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /
96+     cp " $NEURON_BUFFER_ALLOCATOR_LIB "  /libneuronusdk_adapter.mtk.so ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /
97+   fi 
8798}
8899
89100build_aar () {
@@ -96,7 +107,7 @@ build_aar() {
96107  #  between Java and JNI
97108  find jni -type f -name " libexecutorch_jni.so"   -exec bash -c ' mv "$1" "${1/_jni/}"'   bash {} \; 
98109  #  Zip all necessary files into the AAR file
99-   zip -r executorch.aar libs jni/* /libexecutorch.so jni/* /libqnn* .so jni/* /libQnn* .so AndroidManifest.xml
110+   zip -r executorch.aar libs jni/* /libexecutorch.so jni/* /libqnn* .so jni/* /libQnn* .so jni/ * /libneuron_backend.so jni/ * /libneuron_buffer_allocator.so jni/ * /libneuronusdk_adapter.mtk.so  AndroidManifest.xml
100111  cp executorch.aar executorch-llama.aar
101112  popd 
102113}
0 commit comments