【Android】16KBメモリページサイズ対応 ML Kitで苦慮した内容と解決
概要
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"
}
その後、下記を実行。flutter clean
flutter pub get
そして、警告を確認します。
- apkを作成
- 作成したapkに対して、Build > Analyze APKを実施
- Alignmentに警告⚠️が出ていないか確認

警告が出たままのライブラリ
しかし、上記を行っても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リテラシー向上を支援している。
この記事は役に立ちましたか?
ご回答ありがとうございました 🙏
コメント
まだコメントはありません。最初のコメントを書いてみませんか?