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>
66 lines
1.7 KiB
Kotlin
66 lines
1.7 KiB
Kotlin
plugins {
|
|
id("com.android.application")
|
|
id("org.jetbrains.kotlin.android")
|
|
}
|
|
|
|
android {
|
|
namespace = "monster.autisme.tsjetpiti"
|
|
compileSdk = 35
|
|
|
|
// NDK is needed to compile the llama.cpp JNI bridge. Android Studio will
|
|
// offer to install this exact version; adjust if you have a different one.
|
|
ndkVersion = "27.2.12479018"
|
|
|
|
defaultConfig {
|
|
applicationId = "monster.autisme.tsjetpiti"
|
|
minSdk = 26
|
|
targetSdk = 35
|
|
versionCode = 1
|
|
versionName = "0.1.0"
|
|
|
|
// On-device LLM => 64-bit ARM only. Keeps the APK from ballooning.
|
|
ndk {
|
|
abiFilters += "arm64-v8a"
|
|
}
|
|
externalNativeBuild {
|
|
cmake {
|
|
// Force an optimized native build even for the debug APK — otherwise
|
|
// AGP compiles ggml/llama at -O0 and inference is ~10x too slow.
|
|
arguments += "-DANDROID_STL=c++_shared"
|
|
arguments += "-DCMAKE_BUILD_TYPE=Release"
|
|
cppFlags += "-std=c++17"
|
|
}
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path = file("src/main/cpp/CMakeLists.txt")
|
|
version = "3.22.1"
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isMinifyEnabled = false
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Intentionally dependency-free: framework WebView + org.json + native lib.
|
|
}
|