Acerca de Android App Bundles

Un Android App Bundle es un formato de publicación que incluye todos los recursos y el código compilado de tu app, pero delega la generación del APK y la firma a Google Play.

Google Play usa tu paquete de aplicación a fin de generar y entregar APK optimizados para la configuración de cada dispositivo, por lo que solo se descargan el código y los recursos necesarios a fin de ejecutar tu app en un dispositivo específico. Ya no es necesario compilar, firmar y administrar varios APK para optimizar la compatibilidad con diferentes dispositivos, y los usuarios obtienen descargas más pequeñas y optimizadas.

La mayoría de los proyectos de apps no requieren mucho esfuerzo para compilar paquetes de aplicaciones que admitan la entrega de APK optimizados. Por ejemplo, si ya organizas el código y los recursos de tu app según convenciones establecidas, simplemente compila paquetes Android App Bundle firmados con Android Studio o con la línea de comandos y súbelos a Google Play. La entrega de APK optimizados se convertirá en un beneficio automático.

Cuando usas el formato de paquete de aplicación para publicar tu app, también puedes aprovechar Play Feature Delivery, que te permite agregar módulos de funciones al proyecto de tu app. Estos módulos contienen funciones y recursos que solo se incluyen en tu app según las condiciones que especificas o que están disponibles más adelante en el tiempo de ejecución para la descarga con la biblioteca de Play Core.

Los desarrolladores de juegos que publican sus apps con paquetes de aplicación pueden usar Play Asset Delivery: la solución de Google Play para entregar grandes cantidades de recursos de juego que ofrece a los desarrolladores métodos de entrega flexibles y un alto rendimiento.

Mira el siguiente video a fin de obtener una descripción general de por qué deberías usar Android App Bundles para publicar tu app.

Restricción de tamaño de descarga comprimida

La publicación con Android App Bundles permite que los usuarios instalen tu app con la menor cantidad posible de descargas y aumenta el límite del tamaño de descarga comprimido a 200 MB. Es decir, cuando un usuario descarga tu app, el tamaño total de los APKs comprimidos necesarios para instalarla (por ejemplo, el APK base y los APKs de configuración) no debe superar los 200 MB. Cualquier descarga posterior, como la de un módulo de función (y sus APKs de configuración) a pedido, también debe cumplir con la restricción de tamaño de descarga comprimido. Los paquetes de elementos no tienen incidencia en ese límite de tamaño, pero sí tienen otras restricciones de tamaño.

Cuando subes un paquete de aplicación, si Play Console detecta que alguna de las descargas posibles de tu app o sus funciones a pedido superan los 200 MB, se produce un error.

Ten en cuenta que los paquetes Android App Bundle no admiten archivos de expansión del APK (*.obb). Por lo tanto, si encuentras este error cuando publicas un paquete de aplicación, usa uno de los siguientes recursos para reducir los tamaños de descarga del APK comprimido:

  • Asegúrate de establecer enableSplit = true para cada tipo de APK de configuración a fin de habilitar todos los APK de configuración. Así se garantiza que los usuarios descarguen solo el código y los recursos que necesitan para ejecutar la app en sus dispositivos.
  • Asegúrate de quitar el código y los recursos no utilizados para reducir el tamaño de tu app.
  • Sigue las prácticas recomendadas para reducir aún más el tamaño de la app.
  • Procura convertir funciones que solo algunos usuarios utilizan en módulos de funciones que tu app pueda descargar a pedido más adelante. Ten en cuenta que para ello puede ser necesario refactorizar la app, así que asegúrate de probar primero las otras sugerencias descritas anteriormente.

Otros factores que considerar

A continuación, se indican los problemas conocidos que se presentan cuando compilas o entregas tu app con Android App Bundles. Si encuentras problemas que no están incluidos aquí, envía un informe de error.

  • Las instalaciones parciales de apps transferidas, es decir, las apps que no se instalaron mediante Google Play Store y no contienen uno o más APK divididos necesarios, fallan en todos los dispositivos certificados por Google y dispositivos que ejecutan Android 10 (API nivel 29) o versiones posteriores. Cuando se descarga tu app a través de Google Play Store, Google se asegura de que todos los componentes necesarios de la app estén instalados.
  • Si usas herramientas que modifican de manera dinámica las tablas de recursos, los APK generados desde paquetes de aplicaciones podrían tener un comportamiento inesperado. Por lo tanto, te recomendamos inhabilitar esas herramientas cuando compiles un paquete de aplicación.
  • Actualmente, es posible establecer propiedades en la configuración de compilación de un módulo de funciones que entran en conflicto con las de los módulos base (u otros). Por ejemplo, puedes configurar buildTypes.release.debuggable = true en el módulo base y establecerlo en false en un módulo de funciones. Esos conflictos pueden causar problemas relacionados con la compilación y el tiempo de ejecución. Ten en cuenta que, de forma predeterminada, los módulos de funciones heredan algunas configuraciones de compilación del módulo base. Por lo tanto, asegúrate de comprender qué opciones debes mantener y cuáles debes omitir en la configuración de compilación del módulo de funciones.

Recursos adicionales

Para obtener más información sobre Android App Bundle, consulta los siguientes recursos.

Entradas de blog

Videos