Android 16 KB fix map

libVLC 16 KB page-size fix: upgrade to 3.6.3

Artifact org.videolan.android:libvlc-all · measured 2026-10-01 · all libraries

fixed

libVLC versions up to and including 3.6.2 that we measured ship 4 KB-aligned native libraries (offending for Google Play's 16 KB page-size requirement). The first measured aligned stable version is 3.6.3; the newest measured, 3.7.6, is aligned.

Caveats

Measured evidence

VersionLibrary filep_alignFile dateSource
Last offending3.6.2jni/arm64-v8a/libc++_shared.so4 KB (2^12)Thu, 24 Apr 2025 05:43:05 GMTartifact
First aligned3.6.3jni/arm64-v8a/libc++_shared.so16 KB (2^14)Tue, 26 Aug 2025 08:38:11 GMTartifact

p_align is the smallest PT_LOAD segment alignment of the ELF. 16 KB-compatible needs at least 16384 (2^14). Method: min PT_LOAD p_align of arm64-v8a/x86_64 .so inside the published AAR/JAR; aligned = >=16384 for every lib. Dates are repository file times, not official release dates.

Offending versions measured (32)

3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.2.2, 3.2-eap1, 3.2-eap8, 3.3.0-eap02, 3.3.0-eap10, 3.3.0-eap17, 3.3.7, 3.3.13, 3.4.0-eap5, 3.4.1, 3.4.8, 3.5.0-eap6, 3.5.2-eap1, 3.6.0, 3.6.0-eap14, 3.6.0-eap7, 3.6.1, 3.6.2, 4.0.0-eap1, 4.0.0-eap15, 4.0.0-eap18, 4.0.0-eap2, 4.0.0-eap20, 4.0.0-eap9 (showing newest 30 of 32)

Native libraries seen: libc++_shared.so, libvlc.so, libvlcjni.so.

The Gradle change

implementation("org.videolan.android:libvlc-all:3.6.3")

an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 3.7.6). Check: ./gradlew :app:dependencyInsight --dependency libvlc-all --configuration releaseRuntimeClasspath

Confirm what Gradle actually resolves, since another dependency may pull an older version:

./gradlew :app:dependencyInsight --dependency libvlc-all --configuration releaseRuntimeClasspath

Re-verify it yourself

Download the artifact and run the free checker (check16k.py, Python 3, no dependencies):

curl -LO https://repo1.maven.org/maven2/org/videolan/android/libvlc-all/3.6.3/libvlc-all-3.6.3.aar
python3 check16k.py libvlc-all-3.6.3.aar

Exit 0 = aligned, 1 = an unaligned library found. Better still, run it on your final .aab/.apk.

Need the full map for every library, not just libVLC?

The paid kit ($12, v2) contains the complete measured fix map for all 80+ libraries as JSON and a table, every raw per-version measurement, the spot-check evidence, and the step-by-step guide for Play's 16 KB requirement. This page and the checker script stay free.

Get the kit ($12)