Google Play 16 KB page size: does your Android app need to change?
If your app contains native code, directly or inside an SDK, it may need rebuilding for 16 KB memory pages. Here is how to check.
Alongside the target API level rule, Google Play introduced a second requirement that catches many app owners by surprise: support for 16 KB memory pages. The two rules often arrive together, because the apps that fail one tend to fail the other.
What a memory page is
A memory page is the block size a phone’s operating system uses to manage memory. Android has used 4 KB pages for years. Some newer devices use 16 KB pages, which improves performance and power use. Native libraries that were built assuming 4 KB pages may not load on those devices.
Who is affected
- Apps with their own C or C++ code through the Android NDK.
- Apps that use SDKs with native libraries, such as video players, image processing, barcode scanners, game engines, encryption and some ad or analytics SDKs.
- Apps built with Unity, Unreal, Flutter plugins or React Native modules that include native binaries.
Apps written purely in Kotlin or Java with no native dependencies are usually fine. “Usually” matters here: an SDK you added years ago can bring in native code without anyone remembering.
How to check your app
- Open the app bundle or APK in Android Studio and use Build, then Analyze APK.
- Look for a lib folder. If there are .so files inside, the app has native code.
- Use Android Studio’s lint and APK Analyzer alignment checks to see whether each .so file is aligned for 16 KB.
- Run the app on an Android 15 or later emulator image configured with 16 KB pages.
How to fix it
The fix depends on where the native code comes from. For your own code, rebuild with a current Android NDK that aligns to 16 KB by default. For third-party libraries, update to a version that supports 16 KB, or replace the library if the maker has stopped releasing updates. Also use a current Android Gradle Plugin, which handles packaging alignment correctly.
What it means for timing
Check the Play Console policy page for the exact date that applies to your app, because Google has set different dates for different cases. The practical advice is simple: do the 16 KB work in the same project as the target API upgrade. Both need a modern build, and testing once is cheaper than testing twice.
Questions people ask
Does my Flutter or React Native app need 16 KB support?
Often yes, because the framework engine and many plugins include native libraries. Update to a current framework version and update the plugins, then check the build.
How do I know if my app has native code?
Open the build in Android Studio’s APK Analyzer and look for .so files in the lib folder.
Is 16 KB support only needed for new apps?
No. It applies to updates as well. Check the Play Console policy page for the date and scope that apply to your app.