You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes #1: crash after downloading Vosk voice pack
- Fixed local AI (llama.cpp) initialization by building and packaging native libraries for Android arm64-v8a
- Added build-llama-android.sh script to automate llama.cpp compilation with OpenMP disabled
(GGML_OPENMP=OFF, GGML_LLAMAFILE=OFF, OpenMP_FOUND=0) to avoid libomp.so dependency
- Verified libggml-cpu.so has no libomp.so dependency using readelf
- Added checkLlamaPrebuilt Gradle task to validate presence of prebuilt native libraries before build
- Configured jniLibs.srcDirs to include prebuilt/arm64-v8a in the APK
- Extended ProGuard rules for JNA/Vosk to prevent obfuscation issues
(Callback, PointerType, Library classes and related attributes)
- Improved VoskTranscriber model detection logic with flexible lookup:
am/final.mdl, am/model.mdl, final.mdl, model.mdl, or any .mdl file recursively
- Added detailed logging of model directory contents and full exception diagnostics during Vosk initialization
- Updated LOCAL_AI_SETUP.md with llama.cpp build instructions and OpenMP behavior notes
- Bumped app version to 1.1.1 (versionCode 2)
Technical details:
- Native libraries built for arm64-v8a:
libggml-base.so, libggml-cpu.so, libggml.so, libllama.so
- CMake configuration ensures compatibility by disabling OpenMP-based threading
- JNA bindings preserved via extended keep rules to ensure reliable native library loading
- Model validation now supports multiple Vosk model directory structures
- Improved diagnostics simplify troubleshooting of speech recognition failures