Your App Must Support 16 KB Memory Page Sizes — What This Means & How to Fix It
Publishing your Android app in 2024–2025 now shows a new warning or rejection in Play Console:
“Your app must support 16 KB memory page sizes.”
This requirement confused many developers because:
- It does not show as an error inside Android Studio
- The app compiles and runs normally
- Most developers don’t understand what “memory page size” means
- There are almost no clear solutions online
This guide explains the issue in simple, practical terms and gives the exact fixes depending on your tech stack (Native Android, Flutter, React Native, Unity, NDK/C++ apps).
✅ What Does “16 KB Memory Page Size” Mean?
New Android devices (starting from 2023 hardware) use CPUs configured with:
- 4 KB page size (old devices)
- 16 KB page size (newer ARMv9-based devices)
- Both page sizes are supported by Google in the Play Store requirements
If your app contains any native code (NDK, .so files, Flutter engine, Unity libs), it must be compiled to support devices that use 16 KB memory pages.
If not, your app may:
- Crash on certain new devices
- Failed to load native libraries
- Fail Play Console device compatibility checks
So Google now requires:
👉 Your app must declare support for these devices
AND
👉 Your app’s native libraries must be compiled correctly.
✔ Native Android apps using:
- OpenCV
- TensorFlowLite
- ML Kit (legacy .so bundles)
- Audio/Video processing libraries
- Game engines
- VPN libraries
- Encryption libraries
- FFmpeg
- NDK custom code
✔ Flutter apps (VERY common)
Older Flutter versions did not support 16KB pages.
✔ Unity games
Older Unity versions produce 4KB-only binaries.
❌ Pure Kotlin/Java apps
NOT affected (unless using external .so libs).
🎯 Why Google Enforces This
Because new phones (2024–2025) like:
- Pixel 8 / 9
- Samsung S24 / S25
- Xiaomi 14
- Vivo X series
- Snapdragon 8 Gen 3 / 4 devices
Use ARM v9 with 16 KB page size , improving:
- Security
- Performance
- Memory efficiency
Apps built before this transition lack compatibility.
🔥 How to Fix “Your app must support 16 KB memory page sizes.”
Fix 1 — Rebuild Native Libraries with Updated NDK
If your app uses .so files:
- Update your NDK to NDK r26+
- Rebuild modules
android { ndkVersion "26.1.10909125" }
Why?
NDK r26 introduced compatibility for 16KB memory pages.
Fix 2 — Update Flutter to the Latest Version
Flutter apps before 3.16 do NOT support 16KB memory pages.
Run:
flutter upgrade
Then rebuild your release APK/AAB.
Fix 3 — Update Unity Version
Unity versions before 2022 LTS produce 4KB-only binaries.
Upgrade to:
✔ Unity 2022 LTS
✔ Unity 2023 LTS
Then rebuild your project.
Fix 4 — Remove OLD Native Libraries
Common problematic libraries:
- libopencv_java4.so
- Old TensorFlow Lite libs (before 2.12)
- ffmpeg older versions
- Custom C/C++ libs compiled before 2023
These must be recompiled or updated.
Fix 5 — Add Play Console Device Compatibility Manifest
Add this in AndroidManifest.xml :
<uses-sdk android:minSdkVersion="21" />
And ensure:
- You are targeting API 34+
- You are using the latest AGP + Gradle
Fix 6 — Enable New android:extractNativeLibs Behavior
If you packaged .so files manually:
In AndroidManifest.xml :
<application
android:extractNativeLibs="false">
</application>
This ensures the OS handles native libraries correctly on 16KB-page devices.
🎯 How to Verify Your App Supports 16KB Pages
Google now provides a testing tool:
1. Build Release AAB
./gradlew bundleRelease
2. Upload to Internal Testing
If your app is NOT compatible, Play Console will show:
❌ App does not support 16 KB memory page size✔ Devices excluded✔ Native library issue
If no warning appears → you’re good.
📝 Conclusion
The “Your app must support 16 KB memory page sizes” message isn’t a bug — it’s Google preparing for the future of Android architectures.
If your app uses ANY native components, updating your toolchains and libraries is mandatory.
This update ensures your app:
- Runs properly on new ARMv9 devices
- Avoids crashes
- Maintains Play Store compatibility
- Keeps long-term support
Originally published at https://syedali.dev.

Top comments (0)