MapLibre 16 KB page-size fix: upgrade to 11.5.0
Artifact org.maplibre.gl:android-sdk · measured 2026-10-01 · all libraries
fixed
MapLibre versions up to and including 11.4.0 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 11.5.0; the newest measured, 13.6.1, is aligned.
- Sampled, not exhaustive: 38 of 107 published versions were measured with native code; unmeasured versions in between are unknown.
Measured evidence
| Version | Library file | p_align | File date | Source | |
|---|---|---|---|---|---|
| Last offending | 11.4.0 | jni/arm64-v8a/libmaplibre.so | 4 KB (2^12) | Sun, 15 Sep 2024 14:40:00 GMT | artifact |
| First aligned | 11.5.0 | jni/arm64-v8a/libmaplibre.so | 16 KB (2^14) | Mon, 23 Sep 2024 22:03:00 GMT | artifact |
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 (17)
9.2.1, 9.3.0, 9.4.0, 9.4.1, 9.4.2, 9.5.0, 9.5.1, 9.5.2, 10.0.0, 10.2.0, 10.3.2-hwasan1, 10.3.3, 11.0.0-pre0, 11.0.0-pre5, 11.2.0, 11.3.0-vulkan-pre0, 11.4.0
Native libraries seen: libmapbox-gl.so, libmaplibre.so.
The Gradle change
implementation("org.maplibre.gl:android-sdk:11.5.0")an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 13.6.1). Check: ./gradlew :app:dependencyInsight --dependency android-sdk --configuration releaseRuntimeClasspath
Confirm what Gradle actually resolves, since another dependency may pull an older version:
./gradlew :app:dependencyInsight --dependency android-sdk --configuration releaseRuntimeClasspathRe-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/maplibre/gl/android-sdk/11.5.0/android-sdk-11.5.0.aar
python3 check16k.py android-sdk-11.5.0.aarExit 0 = aligned, 1 = an unaligned library found. Better still, run it on your final .aab/.apk.
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)