# Clone VLC Android source git clone https://code.videolan.org/videolan/vlc-android.git cd vlc-android ./compile.sh -a arm64-v8a Output located at: vlc-android/libvlc/jni/libs/arm64-v8a/libvlcjni.so
src/ └── androidMain/ └── jniLibs/ └── arm64-v8a/ ├── libvlcjni.so ├── libvlc.so └── (other dependent .so files) In your build.gradle.kts (Android target): kmp external codec libvlcjni.so cpu arm64-v8a
android defaultConfig ndk abiFilters += "arm64-v8a" sourceSets getByName("main") jniLibs.srcDirs("src/androidMain/jniLibs") # Clone VLC Android source git clone https://code
Once loaded, you can instantiate VLC's MediaPlayer : iOS uses .dylib or .framework
import kotlinx.cinterop.* import platform.posix.dlopen actual fun loadVlcLibraries() // For iOS, use MobileVLCKit (static lib) instead of .so // .so is Android-specific; iOS uses .dylib or .framework