3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Androidの16KBメモリページサイズサポート対応:対象ライブラリ特定のstep by step

Last updated at Posted at 2025-10-01

PlayConsoleに警告が・・・

期限までに対応しないとアップデートができなくなるようです💧

対応が難しい場合は、2026年5月31日まで期限の延長ができるみたいです。
スクリーンショット 2025-09-25 15.46.49.png

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

  • ページ = OSがメモリを管理する最小単位
  • これまでは4KBが一般的でしたが、Android 15以降は16KBページサイズの端末が登場し、サポートが必要となった

無理矢理絵で例えてみました。
スクリーンショット 2025-09-25 15.55.49.png

ちょっとわかりにくいですが、ここでいう1ページは1冊の本に該当します。
同じ容量を運ぶでも「本を取り出す回数」や「管理する冊数」が16KBの方が少ないため、メモリを効率的に扱えます。

Googleがテストした結果、下記のような結果が得られたそうです。

対象ライブラリの特定方法

公式にも対応方法について記載はあるのですが、弊社ではどのような対応を行なったか説明しようと思います。

基本的にkotlinで書かれているのであればアプリ側では何もしなくて良いのですが、
問題はC/C++で書かれた外部ライブラリが16KB対応していない場合です。

この場合は、ライブラリの「更新」「置き換え」「削除」のいずれかの対応が必要になります。どのライブラリが対象なのかは下記の手順でわかります。

  1. apkを作成
  2. 作成したapkに対して、Build > Analyze APKを実施
  3. どの共有ライブラリ(.soファイル)が警告⚠️を出しているか確認
  4. libs.versions.tomlもしくはbuild.gradle(.kts)から16KB対応していない可能性のあるライブラリを洗い出す
  5. 3と4の結果を突き合わせて対応が必要なライブラリを特定する

1〜3まで実施すると下記のような結果をAndroidStudioで見ることができます。

3で言っている警告というのが⚠️で記載されているものになります。どの.soファイルに対して警告が出ているのかがわかります。

4の洗い出しですが、こちらはtomlファイルをGeminiChatGPTに調査させるのが一番早いと思います。Geminiであれば、こんな感じで指示を出してあげれば良さそうです。スクリーンショット 2025-09-25 17.25.20.png

次に5の対象ライブラリの特定ですが、3でどの.soファイルが警告を出しているかわかっているので、Geminiに対してこんな感じで指示出しします。(弊社ではlibyuv-decoder.soで⚠️が出ていました)
スクリーンショット 2025-09-25 17.27.35.png

以下回答です。
スクリーンショット 2025-09-25 17.29.47.png

ということで、gpuimagecameraviewが修正対象ということがわかりました。
どちらも画像に関連するライブラリですが、gpuimageに関してはこちらのissueも作成されていましたので、裏取りもしっかりとできました👍👍

今回僕らはAIでの特定 + 実際に動かしてみて断定しましたが、本来であれば.aarを展開して.soファイルが含まれているか確認するのが王道のようです。
Geminiに聞いて出てくる候補はあくまで「その可能性が高いもの」のようで、断定するのは.aarを展開して.soの存在を確認してからの方が良さそうです。

弊社ではこれらのライブラリに対して、下記のように対応しています。
gpuimage → gpuimageに丸投げしていた処理を、自前で実装
cameraviewCameraXに入れ替え

修正後、再度Analyze APKを実施し、⚠️が消えているか確認が必要です。

おまけ

上記では触れていないのですが、Flipperというmeta製のデバッグ用ライブラリも16KB対応しておらず、⚠️が出ていました。
公式リポジトリではThis repository was archived by the owner on Nov 23, 2024. It is now read-only.と表示されていたので、今後メンテされない & 今誰も使ってないので削除したのですが、改めてリポジトリ見たら、いつの間にかarchived消えてました。。今後更新されるのかなぁ。謎です🧐

2025/9/30追記
改めて公式リポジトリを見たら、再度archived出てました。

参考リンク

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?