Validated on a Pixel 7 (adb). Key fixes:
- Force Release/-O3 for native even in the debug variant (AGP defaulted to -O0,
making llama.cpp ~10x too slow / effectively unusable).
- 16 KB-align all native LOAD segments (Play requirement; 16 KB-page devices).
- Disable Qwen3 thinking (empty <think></think> prefill + /no_think) so replies
are fast and punchy instead of spending the whole budget on hidden reasoning.
- Cap replies at 220 tokens.
Verified: model downloads, loads (n_ctx=4096, 6 threads), streams an on-persona
reply with emoji intact, and "new tsjet" clears the conversation.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Android app that runs an uncensored Qwen3.5-2B GGUF fully on-device via an
embedded llama.cpp (pinned b10333, built through the NDK) behind a barebones
WebView chat UI. Model is downloaded on first launch. "new tsjet" wipes the
conversation and resets the KV cache.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>