Scaffold tsjetpiti: on-device Qwen3.5-2B chat app
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>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
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 {
|
||||
arguments += "-DANDROID_STL=c++_shared"
|
||||
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.
|
||||
}
|
||||
Reference in New Issue
Block a user