Flutter engine libflutter.so (per Flutter stable release; Gradle dependency is the `flutter` SDK version, not this coordinate) 16 KB page-size fix: upgrade to 3.16.0
Artifact io.flutter:arm64_v8a_release · measured 2026-10-01 · all libraries
fixed
Flutter engine libflutter.so (per Flutter stable release; Gradle dependency is the `flutter` SDK version, not this coordinate) versions up to and including 3.13.9 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.16.0; the newest measured, 3.47.5, is aligned.
- This row measures
libflutter.soper Flutter stable release. The Gradle dependency is your Flutter SDK version, not this coordinate: upgrade Flutter to the version shown, then rebuild. - Sampled, not exhaustive: 45 of 137 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 | 3.13.9 | lib/arm64-v8a/libflutter.so | 4 KB (2^12) | Wed, 25 Oct 2023 17:00:36 GMT | artifact |
| First aligned | 3.16.0 | lib/arm64-v8a/libflutter.so | 64 KB (2^16) | Wed, 15 Nov 2023 01:11:23 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 (19)
3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.0.4, 3.0.5, 3.3.0, 3.3.1, 3.3.3, 3.3.8, 3.7.2, 3.7.6, 3.7.11, 3.10.3, 3.13.1, 3.13.5, 3.13.7, 3.13.8, 3.13.9
Native libraries seen: libflutter.so.
The Gradle change
implementation("io.flutter:arm64_v8a_release:3.16.0")an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 3.47.5). Check: ./gradlew :app:dependencyInsight --dependency arm64_v8a_release --configuration releaseRuntimeClasspath
Confirm what Gradle actually resolves, since another dependency may pull an older version:
./gradlew :app:dependencyInsight --dependency arm64_v8a_release --configuration releaseRuntimeClasspathRe-verify it yourself
Download the artifact and run the free checker (check16k.py, Python 3, no dependencies):
curl -LO https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-74d16627b940bb15e50891f82cad6c3e3465bd6d/arm64_v8a_release-1.0.0-74d16627b940bb15e50891f82cad6c3e3465bd6d.jar
python3 check16k.py arm64_v8a_release-1.0.0-74d16627b940bb15e50891f82cad6c3e3465bd6d.jarExit 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)