Уменьшите размер APK-файлов вашего приложения ML Kit для Android.

Прежде чем развертывать в продакшене приложение, использующее модель ML Kit на устройстве, рекомендуется следовать советам на этой странице, чтобы уменьшить размер загружаемого приложения.

Создайте свое приложение в виде пакета Android App Bundle.

Создайте и разверните свое приложение в виде Android App Bundle , чтобы Google Play мог автоматически генерировать APK-файлы для конкретных размеров экрана, архитектур процессоров и языков программирования. Пользователям нужно будет загружать только те APK-файлы, которые соответствуют конфигурации их устройства, и, что наиболее важно, пользователи будут загружать только те библиотеки нативного кода, которые соответствуют архитектуре их устройства.

Расширенные возможности: Перемещение дополнительных функций машинного обучения в динамические модули функций.

Если вы используете ML Kit в функции вашего приложения, которая не является его основным назначением, рассмотрите возможность рефакторинга приложения, чтобы перенести эту функцию и ее зависимости от ML Kit в динамический модуль функций .

Для корректной работы функций ML Kit в модуле, добавляемом по запросу, в файл build.gradle вашего базового APK-файла необходимо включить зависимость от библиотеки поддержки динамических функций ML Kit из Play Store.

dependencies {
    // ...
    implementation 'com.google.mlkit:playstore-dynamic-feature-support:16.0.0-beta2'
}

Таким образом, вы предотвращаете ненужную загрузку пользователями моделей машинного обучения вашего приложения, которые могут быть довольно большими.

Расширенные настройки: Исключить неиспользуемые бинарные файлы 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'
      }
  }
}