ML Kit のオンデバイス モデルを使用するアプリを本番環境にデプロイする前に、このページのアドバイスに沿ってアプリのダウンロード サイズを削減することを検討してください。
Android App Bundle としてアプリをビルドする
アプリを Android App Bundle としてビルドしてデプロイすると、Google Play で特定の画面密度、CPU アーキテクチャ、言語用の APK を自動的に生成できます。ユーザーは、デバイス構成に一致する APK のみをダウンロードすればよく、最も重要な点として、デバイス アーキテクチャに一致するネイティブ コード ライブラリのみをダウンロードすればよくなります。
上級: オプションの ML 機能を Dynamic Feature Module に移動する
アプリの主な目的ではない機能で ML Kit を使用している場合は、アプリをリファクタリングして、その機能と ML Kit の依存関係を動的機能モジュールに移動することを検討してください。
オンデマンド機能モジュールで ML Kit の機能が動作するようにするには、ベース APK の build.gradle ファイルに、ML Kit Play ストア動的機能サポート ライブラリの依存関係を含めます。
dependencies { // ... implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2' }
これにより、ユーザーがアプリの ML モデル(サイズが大きくなる可能性があります)を不必要にダウンロードすることを防ぐことができます。
上級者向け: 未使用の ML Kit バイナリを除外する
ML Kit は、32 ビット アーキテクチャと 64 ビット アーキテクチャの両方をサポートするように構築されています。アプリが 32 ビットモードのみをサポートしている場合(32 ビット バイナリのみを提供するライブラリを使用している場合など)、未使用の ML Kit ライブラリをビルドから除外できます。
android { defaultConfig { ndk { // Don't package arm64-v8a or x86_64 abiFilters 'armeabi-v7a', 'x86' } } }