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