Прежде чем развертывать рабочую версию приложения, в котором используется локальная модель 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' } } }