55# Unified Android build script - builds JNI bridge + selected backends
66#
77# Usage: ./build-android.sh [options] [backends] [abis]
8- # backends: onnx | llamacpp | whispercpp | tflite | rag | all (default: all)
8+ # backends: onnx | llamacpp | whispercpp | tflite | all (default: all)
99# - onnx: STT/TTS/VAD (Sherpa-ONNX models)
1010# - llamacpp: LLM text generation (GGUF models)
1111# - all: onnx + llamacpp (default)
@@ -210,16 +210,13 @@ BUILD_ONNX=OFF
210210BUILD_LLAMACPP=OFF
211211BUILD_WHISPERCPP=OFF
212212BUILD_TFLITE=OFF
213- BUILD_RAG=OFF
214-
215- VALID_BACKENDS=" onnx llamacpp whispercpp tflite rag all"
213+ VALID_BACKENDS=" onnx llamacpp whispercpp tflite all"
216214
217215if [[ " $BACKENDS " == " all" ]]; then
218216 # NOTE: WhisperCPP is deprecated - use ONNX for STT instead
219217 # WhisperCPP has build issues with newer ggml versions (GGML_KQ_MASK_PAD)
220218 BUILD_ONNX=ON
221219 BUILD_LLAMACPP=ON
222- BUILD_RAG=ON
223220 BUILD_WHISPERCPP=OFF
224221else
225222 # Parse comma-separated backends list
@@ -230,11 +227,10 @@ else
230227 llamacpp) BUILD_LLAMACPP=ON ;;
231228 whispercpp) BUILD_WHISPERCPP=ON ;;
232229 tflite) BUILD_TFLITE=ON ;;
233- rag) BUILD_RAG=ON ;;
234230 * )
235231 print_error " Unknown backend: $backend "
236232 echo " Usage: $0 [backends] [abis]"
237- echo " backends: onnx | llamacpp | whispercpp | tflite | rag | all"
233+ echo " backends: onnx | llamacpp | whispercpp | tflite | all"
238234 echo " abis: comma-separated list (default: arm64-v8a)"
239235 exit 1
240236 ;;
@@ -249,7 +245,6 @@ SINGLE_BACKEND=""
249245[[ " $BUILD_LLAMACPP " == " ON" ]] && (( ENABLED_COUNT++ )) && SINGLE_BACKEND=" llamacpp"
250246[[ " $BUILD_WHISPERCPP " == " ON" ]] && (( ENABLED_COUNT++ )) && SINGLE_BACKEND=" whispercpp"
251247[[ " $BUILD_TFLITE " == " ON" ]] && (( ENABLED_COUNT++ )) && SINGLE_BACKEND=" tflite"
252- [[ " $BUILD_RAG " == " ON" ]] && (( ENABLED_COUNT++ )) && SINGLE_BACKEND=" rag"
253248
254249if [[ " $ENABLED_COUNT " -eq 1 ]]; then
255250 DIST_SUBDIR=" $SINGLE_BACKEND "
258253fi
259254
260255print_header " RunAnywhere Android Build (Unified)"
261- echo " Backends: ONNX=$BUILD_ONNX , LlamaCPP=$BUILD_LLAMACPP , WhisperCPP=$BUILD_WHISPERCPP , TFLite=$BUILD_TFLITE , RAG= $BUILD_RAG "
256+ echo " Backends: ONNX=$BUILD_ONNX , LlamaCPP=$BUILD_LLAMACPP , WhisperCPP=$BUILD_WHISPERCPP , TFLite=$BUILD_TFLITE "
262257echo " ABIs: ${ABIS} "
263258echo " Android API Level: ${ANDROID_API_LEVEL} "
264259echo " Output: dist/android/${DIST_SUBDIR} /"
@@ -360,7 +355,7 @@ for ABI in "${ABI_ARRAY[@]}"; do
360355 -DRAC_BACKEND_ONNX=${BUILD_ONNX} \
361356 -DRAC_BACKEND_LLAMACPP=${BUILD_LLAMACPP} \
362357 -DRAC_BACKEND_WHISPERCPP=${BUILD_WHISPERCPP} \
363- -DRAC_BACKEND_RAG=${BUILD_RAG} \
358+ -DRAC_BACKEND_RAG=ON \
364359 -DRAC_BUILD_TESTS=OFF \
365360 -DRAC_BUILD_SHARED=ON \
366361 -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON \
@@ -590,19 +585,11 @@ for ABI in "${ABI_ARRAY[@]}"; do
590585 fi
591586 fi
592587
593- # RAG pipeline
594- mkdir -p " ${DIST_DIR} /rag/${ABI} "
595- if [ -f " ${ABI_BUILD_DIR} /src/features/rag/librac_backend_rag.so" ]; then
596- cp " ${ABI_BUILD_DIR} /src/features/rag/librac_backend_rag.so" " ${DIST_DIR} /rag/${ABI} /"
597- echo " Copied: librac_backend_rag.so -> rag/${ABI} /"
598- fi
599-
600- # Copy JNI bridge library for RAG
588+ # RAG JNI bridge (RAG pipeline is compiled into librac_commons.so;
589+ # the JNI bridge is still a thin separate .so that links against rac_commons)
601590 if [ -f " ${ABI_BUILD_DIR} /src/features/rag/librac_backend_rag_jni.so" ]; then
602- cp " ${ABI_BUILD_DIR} /src/features/rag/librac_backend_rag_jni.so" " ${DIST_DIR} /rag/${ABI} /"
603- echo " Copied: librac_backend_rag_jni.so -> rag/${ABI} /"
604- else
605- print_warning " librac_backend_rag_jni.so not found - JNI bridge not built by CMake"
591+ cp " ${ABI_BUILD_DIR} /src/features/rag/librac_backend_rag_jni.so" " ${JNI_DIST_DIR} /${ABI} /"
592+ echo " Copied: librac_backend_rag_jni.so -> jni/${ABI} /"
606593 fi
607594
608595 # TFLite backend
@@ -712,13 +699,6 @@ if [ "$BUILD_WHISPERCPP" = "ON" ]; then
712699 done
713700fi
714701
715- echo " ├── rag/ # RAG pipeline libraries"
716- for ABI in " ${ABI_ARRAY[@]} " ; do
717- echo " │ └── ${ABI} /"
718- echo " │ ├── librac_backend_rag.so"
719- echo " │ └── librac_backend_rag_jni.so"
720- done
721-
722702if [ " $BUILD_TFLITE " = " ON" ]; then
723703 echo " └── tflite/ # TFLite backend libraries"
724704 for ABI in " ${ABI_ARRAY[@]} " ; do
@@ -747,9 +727,6 @@ if [ "$BUILD_WHISPERCPP" = "ON" ]; then
747727 ls -lh " ${DIST_DIR} /whispercpp" /* /* .so 2> /dev/null | awk ' {print " " $NF ": " $5}' || echo " (no files)"
748728fi
749729
750- echo " RAG:"
751- ls -lh " ${DIST_DIR} /rag" /* /* .so 2> /dev/null | awk ' {print " " $NF ": " $5}' || echo " (no files)"
752-
753730echo " "
754731echo -e " ${GREEN} Build complete!${NC} "
755732
0 commit comments