ML Kit のオンデバイス モデルを使用するアプリを本番環境にデプロイする前に、このページのアドバイスに沿ってアプリのダウンロード サイズを削減することを検討してください。
Android App Bundle としてアプリをビルドする
Google Play が特定の画面密度、CPU アーキテクチャ、言語に対応する APK を自動的に生成できるように、アプリを Android App Bundle としてビルドしてデプロイします。ユーザーはデバイスの構成に一致する APK のみをダウンロードすればよく、最も重要な点として、デバイスのアーキテクチャに一致するネイティブ コード ライブラリのみをダウンロードします。
上級: オプションの ML 機能を動的機能モジュールに移動する
アプリの主な目的ではない機能で 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' } } }