Agora special full 16 KB page-size fix: upgrade to 4.3.2.8
Artifact io.agora.rtc:agora-special-full · measured 2026-10-01 · all libraries
fixed
Agora special full versions up to and including 4.3.2.7.LITE 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 4.3.2.8; the newest measured, 4.6.3.138, is aligned.
Per-major-line fixes
Different major versions have separate fix paths:
4.x: upgrade to4.3.2.8
- Non-monotone history. An aligned stable release exists before a later offending one (parallel release lines or backports). A higher version number does not guarantee alignment: pick your exact version and measure it. The version below is only the lowest aligned stable version above the highest offending one.
- The boundary is not exact: only prerelease or unlisted versions lie between the last offending and the first aligned version, so an earlier aligned stable version cannot be ruled out.
- NON-MONOTONE: an aligned release can be followed by an offending one; do not assume newer is safe. Per-release-line guidance: 2.x -> no aligned release measured after offending 2.9.107.212; 3.x -> no aligned release measured after offending 3.7.203.212; 3.7.3.175 was aligned before the regression; 4.x -> use measured aligned 4.3.2.8 (after offending 4.3.2.7.LITE). Re-run the checker on the version you resolve
- Sampled, not exhaustive: 61 of 1457 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 | 4.3.2.7.LITE | jni/arm64-v8a/libagora-ffmpeg.so | 4 KB (2^12) | Tue, 15 Oct 2024 06:45:50 GMT | artifact |
| First aligned | 4.3.2.8 | jni/arm64-v8a/libagora-fdkaac.so | 16 KB (2^14) | Thu, 31 Oct 2024 07:13:01 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 (36)
3.4.5.190, 3.6.200.206, 3.7.2.202, 3.7.2.234, 3.7.3.1, 3.7.3.2.PNT, 3.7.3.2.basic, 3.7.200.245, 3.7.201, 3.7.203.1, 3.7.203.212, 4.0.0.5, 4.0.1.7.5, 4.1.1.3, 4.1.1.19.LALA, 4.1.1.31.LALA, 4.1.1.205.1, 4.1.2.134, 4.2.0.233, 4.2.6.11.BASIC, 4.2.6.235, 4.3.1.141.jc, 4.3.2.1, 4.3.2.2, 4.3.2.3, 4.3.2.4, 4.3.2.5, 4.3.2.6, 4.3.2.7, 4.3.2.7.LITE (showing newest 30 of 36)
Native libraries seen: libagora-core.so, libagora-crypto.so, libagora-fdkaac.so, libagora-ffmpeg.so, libagora-mpg123.so, libagora-rtc-sdk-jni.so, libagora-rtc-sdk.so, libagora-rtm-sdk-jni.so, libagora-soundtouch.so, libagora_ai_denoise_extension.so, libagora_ai_echo_cancellation_extension.so, libagora_ai_echo_cancellation_ll_extension.so and 36 more.
The Gradle change
implementation("io.agora.rtc:agora-special-full:4.3.2.8")an aligned version, lowest measured above the last offending one; newer measured versions are aligned too (latest 4.6.3.138). Check: ./gradlew :app:dependencyInsight --dependency agora-special-full --configuration releaseRuntimeClasspath // NON-MONOTONE: an aligned release can be followed by an offending one; do not assume newer is safe. Per-release-line guidance: 2.x -> no aligned release measured after offending 2.9.107.212; 3.x -> no aligned release measured after offending 3.7.203.212; 3.7.3.175 was aligned before the regression; 4.x -> use measured aligned 4.3.2.8 (after offending 4.3.2.7.LITE). Re-run the checker on the version you resolve
Confirm what Gradle actually resolves, since another dependency may pull an older version:
./gradlew :app:dependencyInsight --dependency agora-special-full --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/io/agora/rtc/agora-special-full/4.3.2.8/agora-special-full-4.3.2.8.aar
python3 check16k.py agora-special-full-4.3.2.8.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)Related artifacts
- Agora RTC voice-sdk (io.agora.rtc:voice-sdk)
- Agora full-rtc-basic (io.agora.rtc:full-rtc-basic)
- Agora RTC full-sdk (io.agora.rtc:full-sdk)
- Agora RTM sdk (io.agora.rtm:rtm-sdk)
- Agora RTM (io.agora:agora-rtm)