本文へスキップ
速 爆速開発部

【Android】16KBメモリページサイズ対応 ML Kitで苦慮した内容と解決

投稿日 最終更新 読了約3分 閲覧数27

概要

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は現在の最新バージョンです。
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だけ、警告が出たままとなっていました。 私のプロジェクトでは、このライブラリは使用していなかったので、ビルド時に除外されるように指定します。
packagingOptions {
  exclude 'lib/**/libtextclassifier3_jni_tclib.so'
}

最終確認

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

まとめ

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

参考

https://github.com/googlesamples/mlkit/issues/947
監修者
黒田 真次郎
監修者プロフィール
黒田 真次郎

AppTime株式会社 代表取締役:システム開発・DX支援|2018年〜現在
HOJOJO株式会社 取締役CTO:技術戦略・プロダクト開発|2024年〜2025年

関西学院大学大学院(MBA課程)にて、経営管理の高度な知見を統合。

〜主な経歴〜
2017年に個人事業主として独立。エンジニアとして数多くのシステム開発を
手掛けた後、2018年にAppTime株式会社を設立し、代表取締役に就任。
現在は自社の経営のみならず、2024年〜2025年にはHOJOJO株式会社の取締役CTO(最高技術責任者)も兼任。技術の「便利さ」だけでなく、LLM・機械学習をはじめとする先端技術を活かし、企業のコストカットや「利益創出」に直結させるという、実益重視のコンサルティングを展開している。

単なるIT導入に留まらない、経営層・役員の意思決定に資する「経営×IT」の架け橋として、次世代のDXリテラシー向上を支援している。

この記事は役に立ちましたか?

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

コメントを残す

コメントは送信後すぐに表示されます(URLを含むものと、迷惑コメントと判定されたものは編集者の確認後に表示します)。メールアドレスは公開されません。※ は必須項目です。

公開されません