Include only the modules you need. Each native module adds to your app size: -
@runanywhere/core: ~2MB (required) - @runanywhere/llamacpp: ~15-25MB (for LLM text
generation) - @runanywhere/onnx: ~50-70MB (for STT, TTS, and VAD)
<!-- Required for model downloads --><key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict><!-- Required for STT/VAD with microphone --><key>NSMicrophoneUsageDescription</key><string>This app needs microphone access for voice features.</string><!-- Required for background audio (optional) --><key>UIBackgroundModes</key><array> <string>audio</string></array>
NSMicrophoneUsageDescription is only required if you’re using STT or VAD with microphone input.
Add required permissions to your AndroidManifest.xml:
AndroidManifest.xml
Copy
Ask AI
<!-- Required for model downloads --><uses-permission android:name="android.permission.INTERNET" /><!-- Required for STT/VAD with microphone --><uses-permission android:name="android.permission.RECORD_AUDIO" /><!-- Required for large model storage (optional) --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
The ONNX backend is significantly larger due to the ONNX Runtime library. If you only need LLM
text generation, consider installing just @runanywhere/llamacpp to reduce app size.