0
0

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メモリページサイズ対応 ML Kitで苦慮した内容と解決

Last updated at Posted at 2026-01-16

概要

Android 15以降、Google Playで配信するアプリが、メモリ管理の効率化(パフォーマンス向上)のため、16KBメモリページサイズに対応することが義務付けられた。
対応するSDKやNDKバージョンで再ビルド(再コンパイル)し、共有ライブラリを16KB対応にさせる必要があります。
そんな中、ML Kitに関して、どうしても16KBの警告が出てしまうものがあったため、その解決方法を記載します。

想定環境

・Flutter
・Android Studio

内容

警告が消えなかったライブラリ

arm64-v8a/libdigitalink.so
arm64-v8a/libimage_processing_util_jni.so
x86_64/libdigitalink.so
x86_64/libimage_processing_util_jni.so
x86_64/libtextclassifier3_jni_tclib.so

解決方法

app/build.gradleにandroidx.camera:camera-core:1.4.2を追加します。
※1.4.2は現在の最新バージョンです。

app/build.gradle
dependencies {
  ...
  implementation "androidx.camera:camera-core:1.4.2"
}

ML Kit と cameraX ライブラリを最新バージョンに更新・追加することで、警告が解消されます。
(これにたどり着くまで長かった…)

その後、下記を実行。

flutter clean
flutter pub get

そして、警告を確認します。

  1. apkを作成
  2. 作成したapkに対して、Build > Analyze APKを実施
  3. Alignmentに警告⚠️が出ていないか確認

スクリーンショット 2026-01-16 115828.png

警告が出たままのライブラリ

しかし、上記を行ってもlibtextclassifier3_jni_tclib.soだけ、警告が出たままとなっていました。
私のプロジェクトでは、このライブラリは使用していなかったので、ビルド時に除外されるように指定します。

app/build.gradle
packagingOptions {
  exclude 'lib/**/libtextclassifier3_jni_tclib.so'
}

最終確認

Google Play consoleから、修正したApp Bundleをアップロードします。
その後、Bundleの詳細画面 → メモリのページサイズ項目で、警告が無ければOKです。

まとめ

libtextclassifier3_jni_tclib.soだけ、何しても警告が消えず、対応に苦労しましたね…
(公開されているGitHubのコードからヒントを得ました)
正式に対応されたバージョンが出るのはいつになるのか

参考

ML Kit native libraries not 16KB aligned – fails stripReleaseDebugSymbols in AGP 8.5+

お知らせ(採用情報)

最後にお知らせとなりますが、AppTime では一緒に働くメンバーを募集しております。
詳しくは採用情報ページをご確認ください。

AppTime 採用情報

みなさまからのご応募をお待ちしております。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?