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 del Kit de AA, ten en cuenta los consejos de esta página para reducir el tamaño de descarga de la app.

Compila tu app como un Android App Bundle

Compila e implementa tu app como un Android App Bundle de modo que Google Play pueda generar automáticamente los APKs para densidades de pantalla, arquitecturas de CPU y lenguajes específicos. Los usuarios solo tendrán que descargar los APKs que coincidan con la configuración de su dispositivo y, lo que es más importante, solo descargarán las bibliotecas de código nativo que coincidan con la arquitectura de su dispositivo.

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

Si usas el Kit de AA en una función de tu app que no corresponda a su objetivo principal, reestructura la app para mover esa función y sus dependencias del ML Kit a un módulo de funciones dinámicas.

Para que las funciones del Kit de AA funcionen en un módulo de funciones a pedido, incluye la dependencia de la biblioteca de compatibilidad de funciones dinámicas de Play Store en el archivo build.gradle de tu APK básico.

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

De esta manera, evitas que los usuarios descarguen innecesariamente los modelos de AA de tu 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. Si tu app solo admite el modo de 32 bits (por ejemplo, porque usas una biblioteca que solo proporciona objetos binarios de 32 bits), puedes excluir de tu compilación las bibliotecas del Kit de AA que no se usen:

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