Android 16 KB fix map

Sentry NDK 16 KB page-size fix: upgrade to 7.18.0

Artifact io.sentry:sentry-android-ndk · measured 2026-10-01 · all libraries

fixed

Sentry NDK versions up to and including 7.17.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 7.18.0; the newest measured, 8.59.0, is no-native-64bit.

Caveats

Measured evidence

VersionLibrary filep_alignFile dateSource
Last offending7.17.0jni/arm64-v8a/libsentry-android.so4 KB (2^12)Tue, 12 Nov 2024 14:12:55 GMTartifact
First aligned7.18.0jni/arm64-v8a/libsentry-android.so16 KB (2^14)Mon, 18 Nov 2024 15:47:12 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 (24)

2.0.0-alpha04, 2.0.0-alpha05, 2.0.2, 2.0.3, 2.1.0-alpha.1, 2.1.0-alpha.2, 2.1.0-beta.1, 2.1.0-beta.2, 2.1.4, 3.1.0, 4.3.0, 5.1.0-beta.3, 5.2.0, 5.5.3, 6.0.0-alpha.1, 6.1.1, 6.5.0-beta.1, 6.11.0, 6.19.1, 6.31.0, 7.4.0, 7.12.0, 7.16.0-alpha.1, 7.17.0

Native libraries seen: libsentry-android.so, libsentry.so.

The Gradle change

implementation("io.sentry:sentry-android-ndk:7.18.0")

an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 8.59.0, which ships no 64-bit .so: natives removed or moved, measure the separate artifact). Check: ./gradlew :app:dependencyInsight --dependency sentry-android-ndk --configuration releaseRuntimeClasspath // NATIVES MOVED (latest has no 64-bit .so). Successor artifacts measured 2026-10-01 (data/successors-2026-10-01.json): sentry-native-ndk:0.16.6 aligned; sentry-native-ndk:0.17.1 aligned. Only these versions were measured; any other successor version is UNVERIFIED. Which sentry-native-ndk version sentry-android-ndk 8.59.0 pulls was NOT read (mirror lagged); 8.58.0 pulls 0.16.6, measured aligned

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

./gradlew :app:dependencyInsight --dependency sentry-android-ndk --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/io/sentry/sentry-android-ndk/7.18.0/sentry-android-ndk-7.18.0.aar
python3 check16k.py sentry-android-ndk-7.18.0.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 Sentry NDK?

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)