@@ -30,7 +30,7 @@ build_android_native_library() {
30
30
cmake . -DCMAKE_INSTALL_PREFIX=" ${CMAKE_OUT} " \
31
31
-DCMAKE_TOOLCHAIN_FILE=" ${ANDROID_NDK} /build/cmake/android.toolchain.cmake" \
32
32
-DANDROID_ABI=" ${ANDROID_ABI} " \
33
- -DANDROID_PLATFORM=android-23 \
33
+ -DANDROID_PLATFORM=android-26 \
34
34
-DEXECUTORCH_ENABLE_LOGGING=ON \
35
35
-DEXECUTORCH_LOG_LEVEL=Info \
36
36
-DEXECUTORCH_BUILD_XNNPACK=ON \
@@ -42,6 +42,8 @@ build_android_native_library() {
42
42
-DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON \
43
43
-DEXECUTORCH_BUILD_KERNELS_QUANTIZED=ON \
44
44
-DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
45
+ -DEXECUTORCH_BUILD_NEURON=" ${EXECUTORCH_BUILD_NEURON} " \
46
+ -DNEURON_BUFFER_ALLOCATOR_LIB=" ${NEURON_BUFFER_ALLOCATOR_LIB} " \
45
47
-DEXECUTORCH_BUILD_QNN=" ${EXECUTORCH_BUILD_QNN} " \
46
48
-DQNN_SDK_ROOT=" ${QNN_SDK_ROOT} " \
47
49
-DCMAKE_BUILD_TYPE=Release \
@@ -57,10 +59,12 @@ build_android_native_library() {
57
59
cmake extension/android \
58
60
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK} /build/cmake/android.toolchain.cmake \
59
61
-DANDROID_ABI=" ${ANDROID_ABI} " \
60
- -DANDROID_PLATFORM=android-23 \
62
+ -DANDROID_PLATFORM=android-26 \
61
63
-DCMAKE_INSTALL_PREFIX=" ${CMAKE_OUT} " \
62
64
-DEXECUTORCH_ENABLE_LOGGING=ON \
63
65
-DEXECUTORCH_LOG_LEVEL=Info \
66
+ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=BOTH \
67
+ -DNEURON_BUFFER_ALLOCATOR_LIB=" $NEURON_BUFFER_ALLOCATOR_LIB " \
64
68
-DEXECUTORCH_BUILD_KERNELS_CUSTOM=ON \
65
69
-DEXECUTORCH_BUILD_LLAMA_JNI=ON \
66
70
-DCMAKE_BUILD_TYPE=Release \
@@ -84,6 +88,13 @@ build_android_native_library() {
84
88
cp " ${QNN_SDK_ROOT} " /lib/hexagon-v73/unsigned/libQnnHtpV73Skel.so " ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /"
85
89
cp " ${QNN_SDK_ROOT} " /lib/hexagon-v75/unsigned/libQnnHtpV75Skel.so " ${BUILD_AAR_DIR} /jni/${ANDROID_ABI} /"
86
90
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
87
98
}
88
99
89
100
build_aar () {
@@ -96,7 +107,7 @@ build_aar() {
96
107
# between Java and JNI
97
108
find jni -type f -name " libexecutorch_jni.so" -exec bash -c ' mv "$1" "${1/_jni/}"' bash {} \;
98
109
# 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
100
111
cp executorch.aar executorch-llama.aar
101
112
popd
102
113
}
@@ -108,9 +119,9 @@ build_android_demo_apps() {
108
119
ANDROID_HOME=" ${ANDROID_SDK:-/ opt/ android/ sdk} " ./gradlew build assembleAndroidTest
109
120
popd
110
121
111
- mkdir -p extension/benchmark/ android/benchmark/app/libs
112
- cp ${BUILD_AAR_DIR} /executorch.aar extension/benchmark/ android/benchmark/app/libs
113
- pushd extension/benchmark/ android/benchmark
122
+ mkdir -p extension/android/benchmark/app/libs
123
+ cp ${BUILD_AAR_DIR} /executorch.aar extension/android/benchmark/app/libs
124
+ pushd extension/android/benchmark
114
125
ANDROID_HOME=" ${ANDROID_SDK:-/ opt/ android/ sdk} " ./gradlew build assembleAndroidTest
115
126
popd
116
127
}
@@ -135,8 +146,8 @@ collect_artifacts_to_be_uploaded() {
135
146
# Collect MiniBench APK
136
147
MINIBENCH_APP_DIR=" ${ARTIFACTS_DIR_NAME} /minibench"
137
148
mkdir -p " ${MINIBENCH_APP_DIR} "
138
- cp extension/benchmark/ android/benchmark/app/build/outputs/apk/debug/* .apk " ${MINIBENCH_APP_DIR} "
139
- cp extension/benchmark/ android/benchmark/app/build/outputs/apk/androidTest/debug/* .apk " ${MINIBENCH_APP_DIR} "
149
+ cp extension/android/benchmark/app/build/outputs/apk/debug/* .apk " ${MINIBENCH_APP_DIR} "
150
+ cp extension/android/benchmark/app/build/outputs/apk/androidTest/debug/* .apk " ${MINIBENCH_APP_DIR} "
140
151
}
141
152
142
153
BUILD_AAR_DIR=" $( mktemp -d) "
0 commit comments