Reduce el tamaño de los APK de tu app para Android que implementa ML Kit

Antes de implementar en producción una app que usa un modelo en el dispositivo para el Kit de AA, sigue los consejos que se indican en esta página para reducir el tamaño de descarga de tu app.

Compila tu app como un Android App Bundle

Compila y, luego, implementa tu app como un Android App Bundle a fin de que Google Play genere automáticamente los APK para densidades de pantalla, arquitecturas de CPU y lenguajes específicos. Los usuarios solo tendrán que descargar los APK que coincidan con la configuración de sus dispositivos. Pero lo principal es que solo deberán descargar las bibliotecas de código nativo que coincidan con la arquitectura de sus dispositivos.

Avanzado: Transfiere las funciones opcionales de AA a módulos de funciones dinámicas

Si usas el Kit de AA en una función de tu app que no corresponde a su propósito principal, reestructura la app para transferir esa función y las dependencias del Kit de AA a un módulo de funciones dinámicas.

Para que las funciones de ML Kit funcionen en un módulo de funciones on demand, en el archivo build.gradle de tu apk base, incluye la dependencia de la biblioteca de compatibilidad con funciones dinámicas de Play Store de ML Kit.

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

Si lo haces, evitarás que los usuarios deban descargar los modelos de AA de la app, que pueden ser de gran tamaño.

Avanzado: Excluye los objetos binarios no utilizados del Kit de AA

El Kit de AA se compila con compatibilidad para arquitecturas de 32 y 64 bits. Por ejemplo, si tu app solo es compatible con el modo de 32 bits porque usas una biblioteca que solo proporciona objetos binarios de 32 bits, puedes excluir de tu compilación las bibliotecas de ML Kit que no se usen, de la siguiente manera:

android {
  defaultConfig {
      ndk {
          // Don't package arm64-v8a or x86_64
          abiFilters 'armeabi-v7a', 'x86'
      }
  }
}