Android 16 KB fix map

ML Kit face-detection (bundled) 16 KB page-size fix: upgrade to 16.1.7

Artifact com.google.mlkit:face-detection · measured 2026-10-01 · all libraries

fixed

ML Kit face-detection (bundled) versions up to and including 16.1.6 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 16.1.7; the newest measured, 16.1.7, is aligned.

Caveats

Measured evidence

VersionLibrary filep_alignFile dateSource
Last offending16.1.6jni/x86_64/libface_detector_v2_jni.so4 KB (2^12)Tue, 20 Feb 2024 17:54:15 GMTartifact
First aligned16.1.7jni/arm64-v8a/libface_detector_v2_jni.so16 KB (2^14)Wed, 07 Aug 2024 01:22:15 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 (7)

16.1.0, 16.1.1, 16.1.2, 16.1.3, 16.1.4, 16.1.5, 16.1.6

Native libraries seen: libface_detector_v2_jni.so.

The Gradle change

implementation("com.google.mlkit:face-detection:16.1.7")

an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 16.1.7). Check: ./gradlew :app:dependencyInsight --dependency face-detection --configuration releaseRuntimeClasspath // ARCHITECTURE-SPECIFIC: the last offending measurement 16.1.6 is x86_64-only; its arm64-v8a libraries are aligned

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

./gradlew :app:dependencyInsight --dependency face-detection --configuration releaseRuntimeClasspath

Re-verify it yourself

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

curl -LO https://dl.google.com/android/maven2/com/google/mlkit/face-detection/16.1.7/face-detection-16.1.7.aar
python3 check16k.py face-detection-16.1.7.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 ML Kit face-detection (bundled)?

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)

Related artifacts