Android 16KB page size: find the problem Capacitor plugin
Google Play now requires 16KB page-size support. How to detect which Capacitor plugin's native library breaks 16KB alignment, what to do about it, and how to verify the fix before you submit.
Google Play now requires apps to support 16 KB memory page sizes, and the failure mode is nasty: your app builds fine, passes review superficially, then crashes on 16 KB devices because one native library was compiled for 4 KB alignment. In a Capacitor app the culprit is almost always a plugin's native .so. This guide covers finding it and fixing it.
This is a native library problem — your web bundle is irrelevant to it. Fixing it means a rebuilt binary and a store update; after that, OtaKit keeps the web layer flowing over the air as usual.
Why 16KB matters now
Newer Android devices use 16 KB memory pages for performance. Native code aligned only to 4 KB can crash on them. Google Play enforces 16 KB support for new submissions, so a single misaligned .so in a dependency blocks your release.
Find the problem plugin
Inspect the native libraries in your built APK/AAB for alignment. Unzip the artifact and check the lib/arm64-v8a/ shared objects — Android's alignment check tooling (and recent AGP) will flag the ones not built for 16 KB. The offending path usually points straight at the plugin that bundled it.
# inspect an AAB/APK for unaligned native libs unzip -l app-release.aab | grep '\.so$'
Fix it
- Update the plugin. Maintainers have been rebuilding native libs with 16 KB alignment; the newest version usually just fixes it.
- Update the underlying SDK. If the plugin wraps a third-party SDK (analytics, maps, ML), the misaligned lib may come from that SDK — bump it.
- Replace it. If it's unmaintained and no fixed build exists, swap the plugin for one that supports 16 KB.
Verify before you submit
Test on a 16 KB emulator image or device and confirm the app launches and exercises the plugin's feature without crashing. Don't rely on the build passing — the crash is a runtime one.
Audit your plugin list proactively. The apps that got surprised by this requirement are the ones carrying old native dependencies they'd stopped thinking about — exactly the dependencies most likely to be misaligned.
Where to go next
See AGP 9 build errors and resolving Android build errors for related native-build issues.