DEV Community

Cover image for Flutter Migration Guide: Preparing Your Android App for Google Play’s 16 KB Page-Size Requirement
Michael Chiew
Michael Chiew

Posted on

Flutter Migration Guide: Preparing Your Android App for Google Play’s 16 KB Page-Size Requirement

🚨 DEADLINE ALERT! 🚨
November 1, 2025 is just around the corner!
Google Play is enforcing the 16 KB page size requirement — and your Flutter app might need an update to stay compliant.

As you may have seen it on the cover photo above which is about the latest Google Play’s 16 KB page size requirement that is affecting the app. Whereby starting November 1, 2025, all the new app submission must support the new 16 KB page size requirement and must support the target SDK 35 / API 35 or also known as Android 15 and above (this is extended deadline).

Hence, this raised a question on what should a Flutter developer needs to do to ensure the future release is supporting 16 KB page size, and also how we can verify the app is actually supporting 16 KB page size after performing the upgrade (including the package dependencies upgrade) ?

To shed some lights, I recently managed to upgrade one of my own personal Flutter app and also helped my workplace to kickstart the upgrade as well to support 16 KB page size requirement. Initially, the Flutter SDK version for the app was 3.19.5 and then I upgraded to 3.32.8 which I believe this should also required to upgrade the Gradle dependency version. Technically Flutter 3.32.X and above should be aligned with to support 16 KB page size requirement.

To get things out of the way,

1.) Locate your android/build.gradle file, upgrade Kotlin version 2.2.10 and the build gradle tools to 8.12.2

buildscript {
    ext.kotlin_version = '2.2.10'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.12.2'
        // ... rest of your code

    }
}
Enter fullscreen mode Exit fullscreen mode

2.) Then locate your android/gradle/wrapper/gradle-wrapper.properties file and change the distributionUrl value to fetch gradle-8.13-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip
Enter fullscreen mode Exit fullscreen mode

3.) Make sure your android/settings.gradle also upgrade to 8.12.2 and Kotlin Android version to 2.2.10

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "8.12.2" apply false
    id "org.jetbrains.kotlin.android" version "2.2.10" apply false
}

include ":app"
Enter fullscreen mode Exit fullscreen mode

4.) Although this could be somewhat optional but in the end you still need to upgrade it anyway, therefore set the targeted SDK to 35 in this android/app/build.gradle file.

android {
    namespace "your.application.id_name"  // make sure this remain your app name
    compileSdk flutter.compileSdkVersion
    ndkVersion flutter.ndkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "your.application.id_name" // make sure this remain your app name
        minSdkVersion 23
        targetSdkVersion 35
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

//... rest of your code

}
Enter fullscreen mode Exit fullscreen mode

Once the all the above 4 items are properly configured, you may start compile the app by running the usual Flutter command to build your .apk file.

flutter build apk --release
Enter fullscreen mode Exit fullscreen mode

And then one final step is we have to do verification by creating a script file in our Flutter project root folder, and name it as check_elf_alignment.sh

Copy the script file code from the link below:
Kudos to the creator 💖 https://gist.github.com/NitinPraksash9911/76f1793785a232b2aa2bc2e409873955

Finally, allow the file to be executable (for MacOS) and then run the script in the terminal like below to verify:

chmod +x check_elf_alignment.sh
Enter fullscreen mode Exit fullscreen mode
./check_alignment_elf.sh build/app/outputs/apk/release/app-release.apk
Enter fullscreen mode Exit fullscreen mode

Once the output shows it is aligned with all the green checkmarks ✅, then you are good to go to generate the App Bundle .aab and submit your app to Google Play Console.

In summary:

Kotlin Version: 2.2.10 and above
Gradle Wrapper: 8.12 and above
Flutter: 3.32 and above
Target Android SDK / API Level: 35 and above
Flutter build APK
Verify the APK with script file check_elf_alignment.sh for 16 KB page size alignment.


If you got any question or would like to have some discussions, please feel free to drop a comment down below. And if you like my very first post content, please give a 👏🏻 to my post.

Much appreciated and a big big thanks!


*Original post from Medium which is also my own post: https://medium.com/@michaelchiew/flutter-migration-guide-preparing-your-android-app-for-google-plays-16-kb-page-size-requirement-8f6d971f7b23

Top comments (0)