# Android port `Android.mk` builds `libsetprotocol.so` from the same C99 sources used by MCU and desktop builds. `setprotocol_jni.c` contains only JNI marshalling; protocol rules remain in the core. Add the Kotlin directory as an Android source directory and include this `Android.mk` from the application NDK build. The JNI streaming parser returns fixed 15-byte records `SEQ | FLAGS | CAN_ID_LE | DLC | DATA[8]`. Dynamic allocation is confined to the Android adapter; the portable core remains allocation free.