Как уменьшить размер 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 в Google Play.

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