16kb-pagesize-en

16KB Page Size Support (Google Play)

Regarding the notice that apps published on the Google Play Store (Google Play) “must support 16 KB memory page size,” which was originally required by November 1, 2025, we confirm that we have implemented this support. Currently, it is possible to request an extension until May 31, 2026.

16KB Page Size Support (Google Play)

1. Official Blog Statement

In my case, since my app uses only Kotlin and no native code (NDK/C/C++), I implemented the following:

2. Verifying the Build Environment

2-1. AGP (Android Gradle Plugin) Version

Where to check the AGP version

① Module (e.g., app/) build.gradle(.kts) → plugins { … } format

plugins {
  id(“com.android.application”) version “8.5.2”   
  id(“org.jetbrains.kotlin.android”) version “1.9.25”
}

② Root settings.gradle(.kts) → pluginManagement { plugins { … } } method

pluginManagement {
  plugins {
    id(“com.android.application”) version “8.5.2”  
  }
}

③ Version catalog (gradle/libs.versions.toml) method

[plugins]
android-application = { id = “com.android.application”, version = “8.5.2” }  

Then, in each build.gradle(.kts) file:

plugins {
  alias(libs.plugins.android.application)   
}

(Last resort if it’s not found)
Open Android Studio → Tools > AGP Upgrade Assistant to see the detected current AGP version and recommended upgrade path.

What AGP version should you aim for?

  • Upgrading to 8.6 or higher is generally safe
  • Reason: While 8.5.1+ supports automatic 16KB alignment, 8.6+ officially supports API 35 (Android 15).

Example fix (settings.gradle)
Before:

plugins {
    id “dev.flutter.flutter-plugin-loader” version “1.0.0”
    id “com.android.application” version “8.1.0” apply false
    id “org.jetbrains.kotlin.android” version “1.8.22” apply false
}

After:

plugins {
    id “dev.flutter.flutter-plugin-loader” version “1.0.0”
    id “com.android.application” version “8.6.1” apply false   // ← Update here
    id “org.jetbrains.kotlin.android” version “1.8.22” apply false
}

2-2. Gradle Wrapper

Upgrade to a stable version compatible with AGP (e.g., 8.7 or later, meeting AGP requirements)
https://developer.android.com/build/releases/past-releases/agp-8-6-0-release-notes?

3. Final Check for Native Mixing

Check for .so Files in Transitive Dependencies

  • Even if you intend to use only Kotlin/Java, external AARs may internally contain .so files.
  • Open the AAB/APK in APK Analyzer (Android Studio’s “Build > Analyze APK…”) and verify no .so files exist under lib/arm64-v8a or lib/x86_64.
  • If .so files are found, update the SDK to a 16KB alignment-compliant version (rebuilt with NDK r28+ or AGP 8.5.1+).

4. Device/Emulator Verification

4-1. Successfully launching and running with Google APIs Experimental 16KB (arm64/x86_64) image is sufficient

adb shell getconf PAGE_SIZE is a command to verify that the page size is actually 16 KB on the currently running emulator (or device).

Execution Steps (Common for Mac / Windows)
① First, launch the emulator
② Launch Terminal
③ Verify the device is recognized

adb devices

If you see output like this, it’s OK:

List of devices attached
emulator-5554   device

④ Check the page size

adb shell getconf PAGE_SIZE

If multiple devices exist, explicitly specify:

adb -s emulator-5554 shell getconf PAGE_SIZE

Result. If it shows as follows, it’s a 16 KB (= 16384 bytes) environment.

16384

4-2. If adb is not found

If running adb devices returns command not found: adb,
it means adb is not found = the SDK’s platform-tools are not in your PATH.
Resolve this using one of the following methods.

Method A: Temporarily execute using the SDK’s full path

  1. Verify SDK location
    Android Studio → Settings/Preferences > Appearance & Behavior > System Settings > Android SDK
    Note the Android SDK Location at the top (default example: /Users/your_username/Library/Android/sdk).
  2. Execute using full path (example uses default path)

/Users/$USER/Library/Android/sdk/platform-tools/adb devices
/Users/$USER/Library/Android/sdk/platform-tools/adb shell getconf PAGE_SIZE

If multiple emulators exist, add -s

/Users/$USER/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell getconf PAGE_SIZE

If it returns something like 16384, it’s a 16KB environment.

Method B: Make it permanently usable via PATH (recommended)

  1. Confirm the SDK location (same as step 1 in Method A)
  2. Append to ~/.zshrc

# Android SDK
export ANDROID_SDK_ROOT="$HOME/Library/Android/sdk"   // Adjust to your actual path
export PATH="$PATH:$ANDROID_SDK_ROOT/platform-tools"
export PATH="$PATH:$ANDROID_SDK_ROOT/emulator"

  1. Apply changes

source ~/.zshrc

  1. Verify

which adb
adb version
adb devices
adb shell getconf PAGE_SIZE

5. Verify in Play Console

16KB Page Size Support (Google Play)

Related Articles