⚠️

【Flutter対応】「アプリは 16 KB メモリのページサイズをサポートしている必要があります」

に公開1

FlutterでAndroidアプリを公開しています。ある日突然Googleからこのような無慈悲なメッセージが届いた場合の対応方法です。

アプリは 16 KB メモリのページサイズをサポートしている必要があります

16KBメモリのページサイズとは

Google Play Consoleの問題の詳細ページからもリンクがありますが、こういうことだそうです。詳しい内容は割愛ですが、来たる16KBページサイズがサポートされてないアプリは2025年11月1日以降はアプリをリリースできないよということらしいです。

https://www.youtube.com/watch?v=MnMGJhuChRI

対応方法

やることは3つあります。

  1. AGP(Android Gradleプラグイン)のアップデート
  2. Gradleのアップデート
  3. NDK(Android Native Development Kit)のアップデート

AGPのアップデート

android/settings.gradleにある次の箇所でバージョンが指定されているので、8.5.1以降に上げます。執筆時2025年9月16日時点では8.13.0が最新だったので、そのように指定しました。

plugins {
    ...
    id "com.android.application" version "8.13.0" apply false
    ...
}

Gradleのアップデート

AGPとGradleのバージョンを合わせる必要がるので、先程指定したAGPに対するGradleのバージョンを確認します。

https://developer.android.com/build/releases/gradle-plugin?hl=ja#updating-gradle

AGP 8.13の場合はGradleも8.13が必要なようです。足りてなかったので、以下のコマンドでGradleのバージョンを上げます。

cd android
./gradlew wrapper --gradle-version=8.14.3

終わったら念の為クリーンしておきます。

./gradlew clean

NDKのアップデート

ビルドに使用するNDKをアップデートします。NDKが28以降であればデフォルトで16KB対応でコンパイルされるようです。28以降をAndroid StudioのSDK Managerでインストールします。

メニューの[Tools]-[SDK Manager]を起動して、[SDK Tools]タブのNDKの中から28以降のものをインストールします。(Show Package Detailsを✅️すると出てくると思う)

SDK Manager

(おそらくflutterのバージョンごとにデフォルトのNDKバージョンが異なると思うのでいずれは不要になるかもしれないですが)インストールしたNDKを使用してビルドするように、build.gradleを編集して、バージョンを指定します。

android/app/build.gradle
android {
    ...
    ndkVersion = '28.2.13676358'
    ...

あとはflutter cleanしてビルドし直すといけるはず。

確認

コマンドラインから確認できるツールもあるみたいですが、私は内部テストリリースを作成して確認しました。App Bundleファイルをアップロードしたら、aabの詳細画面から確認できます。

参考

Discussion

FBFB

記事で述べられている対応内容に加えて、私の場合は以下も必要でした。

  1. package 更新
    a. package verの最新化
    b. 数年単位で更新のないpackageは他のものにreplace

  2. 外部ネイティブSDK 更新
    a. ekyc関連などネイティブSDKを直接PJに取り込む場合があります。その場合は、SDK配布元に連絡等が必要です。