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

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

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

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

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

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

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

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