android-jni-ndk
Installation
SKILL.md
Android JNI & NDK
Everything that leaves the pure Kotlin/Java world: native shared libraries (.so), the JNI boundary, cross-boundary refs and exceptions, and the modern Android packaging constraints (16 KB pages, split APKs, App Bundles).
Pair with kotlin-performance for measuring native-call overhead, smali-dex-patching for offensive patching of the managed side, and mobile-technique for auditing shipped native code.
When to activate
- Embedding a C/C++/Rust library in a Kotlin/Java app
- Debugging JNI reference leaks,
LocalReferenceTable overflow, orArrayIndexOutOfBoundsExceptionoriginating in native code - Diagnosing a native crash (
SIGSEGV,SIGABRT) from a tombstone or Play Console ANR - Migrating to 16 KB page-size compliance for Google Play (deadline Nov 2025 for apps targeting API 35+)
- Building AAB / APK with multiple ABIs and understanding split delivery
- Reverse-engineering a shipped
.soto understand what native code an app runs