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 de esta página a fin de reducir el tamaño de descarga de tu app.

Compila tu app como un Android App Bundle

Compila e implementa tu app como un Android App Bundle para que Google Play pueda generar automáticamente 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, refactoriza la app para mover la función y las dependencias del Kit de AA a un módulo de funciones dinámicas.

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

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 sin usar del ML Kit

El ML Kit 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 ML Kit que no se usen:

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