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

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

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

Android App Bundle としてアプリをビルドしてデプロイすると、特定の画面密度、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'
      }
  }
}