Safeguard
Developer Tools•

Does my Android app need 16 KB page size support?

If your Android app or any SDK in it ships native code, it must support 16 KB page sizes for Play releases from 1 February 2027. How to check, per Google.

Safeguard Security Team
4 min read

Only if it contains native code. Google says apps targeting Android 15 (API 35) or higher must support 16 KB page sizes on 64-bit devices, and from 1 February 2027 updates that do not will be blocked on Google Play. Pure Java and Kotlin apps, including all libraries, already support it.

Does your app use native code?

Google lists three cases. Your app uses native code if:

  • it uses C or C++ code, including the NDK,
  • it links third-party native libraries or SDKs that use native code, or
  • it is built by a third-party app builder that uses native libraries on device.

The second case is the one teams miss. You may never have written a line of C, yet an analytics, video, maps or game SDK in your build can bring in .so files.

How to check

Google gives three routes.

  1. APK Analyzer in Android Studio. Choose Build, then Analyze APK. Look in the lib folder for .so files. If there are none, you have no native code. The Alignment column flags files with problems.
  2. Alignment script. Google's check_elf_alignment.sh reports ALIGNED or UNALIGNED for each arm64-v8a library.
  3. Command line tools. Use llvm-objdump -p on a library and look for LOAD segments aligned at 2 to the power of 14. Use zipalign -v -c -P 16 4 on the APK. For a bundle, bundletool dump config should show PAGE_ALIGNMENT_16K.
llvm-objdump -p libexample.so | grep LOAD
zipalign -v -c -P 16 4 app-release.apk

How to fix it

  • Use Android Gradle Plugin 8.5.1 or higher and NDK r28 or higher. Google says these produce compatible builds by default.
  • With NDK r27 or lower, add linker flags for a max page size of 16384.
  • For prebuilt libraries and SDKs, ask the provider for a compatible version, or recompile and reimport if you own the source.
  • Do not hard code 4 KB. Use the page size query functions instead.

Why this is an SDK risk question

You can fix your own code. You cannot fix a vendor's prebuilt library. If the vendor is slow or gone, your release is blocked by a dependency you do not control. So the check belongs early, with a list of every library that carries a .so and a note on who maintains it.

SituationYour move
No .so files in the buildTest on a 16 KB device or emulator anyway
Your own native codeRebuild with current tooling
Third-party SDK with native codeAsk for a compatible release, plan a replacement if none
Prebuilt library you ownRecompile with 16 KB alignment

Test it

Check that your device or emulator reports a page size of 16384 with adb shell getconf PAGE_SIZE, then run your app through its main flows.

Quick check

Does the deadline apply to my Kotlin only app?

Google says apps that use only Java or Kotlin, including all libraries and SDKs, already support 16 KB devices, and still recommends testing.

Where do I find native libraries I did not know about?

Open the built APK in APK Analyzer and read the lib folder.

Safeguard inventories dependencies and SBOM components and flags known vulnerabilities, which helps you see which SDKs are in the build. It does not analyze compiled mobile binaries, so use Google's tools for the alignment check. A free scan is available.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.