ML Kit Android アプリの APK のサイズを小さくする

ML Kit オンデバイス モデルを使用するアプリを本番環境にデプロイする前に、このページのアドバイスに従ってアプリのダウンロード サイズを削減することを検討してください。

アプリを Android App Bundle としてビルドする

アプリを Android App Bundle としてビルドしてデプロイし、Google Play が特定の画面密度、CPU アーキテクチャ、言語用の APK を自動的に生成できるようにします。ユーザーは、デバイス構成に一致する APK のみをダウンロードする必要があります。そして最も重要なのは、デバイスのアーキテクチャに一致するネイティブ コード ライブラリのみをダウンロードすることです。

高度: オプションの ML 機能を動的機能モジュールに移動する

アプリの主要目的ではない機能で ML Kit を使用している場合は、アプリをリファクタリングして、その機能と ML Kit の依存関係を動的機能モジュールに移動することを検討してください。

ML Kit の機能をオンデマンド機能モジュールで動作させるには、ベース apk の build.gradle ファイルに ML Kit Playstore の動的機能サポート ライブラリの依存関係を含めます。

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'
      }
  }
}