APK vs AAB (Android App Bundles): ¡Todo lo que Necesitas Saber!

Total
0
Shares
Comparación APK vs AAB Android App Bundles
Comparación APK vs AAB Android App Bundles

A medida que nos acercamos al lanzamiento estable de Android 12, Google está realizando algunos cambios fundamentales en la entrega y distribución de aplicaciones en los dispositivos Android. A partir de agosto de 2021, todas las nuevas aplicaciones de la Play Store se publicarán en el formato Android App Bundles (.aab) en lugar del actual formato APK.

Entonces, ¿Cuáles son las principales diferencias entre un APK y los Android App Bundles (AAB)? ¿Podemos cargar lateralmente los AAB al igual que los APK? Para responder a todas tus preguntas, hemos elaborado esta guía detallada sobre APK vs AAB. Así que sin perder tiempo, vamos a sumergirnos en ella.

APK vs AAB (Android App Bundles): Una Comparación Exhaustiva

Aquí hemos explicado los formatos AAB y APK en términos sencillos para que cualquiera pueda entender el concepto con facilidad. También hemos detallado cómo instalar archivos AAB, extraer APKs de AABs, y más. Puedes ampliar la tabla de abajo para ir a cualquier sección relevante rápidamente.

APK vs AAB: Entendiendo lo Básico

En primer lugar, debemos comprender algunos aspectos básicos para entender correctamente cuáles son las diferencias entre un APK y un Android App Bundle.

El APK ha sido el paquete de aplicaciones de distribución más utilizado en Android desde sus inicios. Un APK consiste principalmente en códigos de aplicaciones, recursos pesados como imágenes, audio, etc., y una clave de firma de la aplicación generada por el desarrollador. Hay que tener en cuenta que los dispositivos Android tienen varios factores de forma y especificaciones. Por ejemplo, los dispositivos pueden tener un grado variable de densidad de pantalla (320 ppp, 480 ppp, etc.), tipo de procesador (ARM, ARM64, x86), etc. Además, según la región del usuario, la aplicación debe tener un paquete de idiomas (es, en, fr, ger, etc.).

App en la tienda de la Play Store
App en la tienda de la Play Store

En una situación ideal, un desarrollador tiene que crear y cargar varios APK en la Play Store en función de la región del usuario, el tipo de procesador y la densidad de la pantalla. Cuando un usuario pulsa el botón “Instalar” en la Play Store, el APK correcto y más adecuado se instala en su dispositivo. Sin embargo, todo esto pone una enorme tarea en manos de los desarrolladores. No sólo tienen que desarrollar aplicaciones, sino también gestionar múltiples APK para dar soporte a un montón de dispositivos.

Para evitar este trabajo complejo y que requiere mucho tiempo, la mayoría de los desarrolladores construyen un APK universal que viene con todos los recursos (paquetes de idiomas, códigos y más) aunque no se necesite la mayor parte de ellos en ese dispositivo específico. El resultado es un APK voluminoso con un tamaño de aplicación mayor que requiere más tiempo de instalación y consume más ancho de banda.

Google quiere resolver este problema y asumir la mayor parte de esta carga para los desarrolladores con Android App Bundles (AAB). Esto, a su vez, ayudará a reducir el tamaño de la aplicación, el tiempo de instalación y el consumo de ancho de banda. La compañía presentó AAB en el Google I/O 2018, y ahora, casi dos años después, Google obliga a presentar las nuevas apps en el formato AAB en la Play Store.

Cómo funciona AAB (Android App Bundle)
Cómo funciona AAB (Android App Bundle)

En comparación con el APK, el formato AAB no es un paquete de distribución completamente nuevo. De hecho, AAB es un contenedor que alberga un APK base y múltiples APKs divididos. Básicamente, AAB es un formato de publicación que un desarrollador envía a la Play Store, mientras que APK es el formato de empaquetado de las aplicaciones de Android que se instalan en el dispositivo.

Entonces, ¿qué es lo que realmente cambia aquí? A partir de agosto de 2021, los desarrolladores no tendrán que manejar y gestionar un montón de APKs para una amplia gama de dispositivos. Con AAB, los desarrolladores entregan todo a Google: el código de la aplicación, los activos, los recursos pesados, todos los paquetes de idiomas y, lo que es más importante, la clave privada de firma de la aplicación. Ahora, Google puede generar y servir APKs optimizados a los usuarios en función de la configuración de su dispositivo. Puedes crear un paquete de AAB mucho más pequeño, de tamaño compacto, que se instala en un santiamén y que consume menos datos para los dispositivos de gama baja. Esa es la principal propuesta de AAB frente a APK, pero hay más cosas que desgranar.

Compartir la Clave de Firma Privada con Google

Si observamos lo que aporta AAB, parece una gran alternativa al APK. El formato AAB reduce el tamaño de la aplicación y los desarrolladores no tienen que crear varios APK. Sin embargo, muchos desarrolladores han expresado su preocupación por el hecho de compartir la clave de firma privada con Google.

Como he mencionado anteriormente, la clave de firma es la información más importante para verificar la integridad del APK. Incluso si se carga lateralmente un APK desde una fuente de terceros, Google Play Store comprueba la clave de firma para asegurarse de que no se ha manipulado nada.

La carga lateral permite a los usuarios, denominados sideloading, poder instalar cualquier aplicación de Android que esté disponible fuera de Play Store.

Con AAB, Google obliga a los desarrolladores a compartir la clave de firma privada para que Google pueda generar el paquete de aplicaciones y firmar el AAB con la misma clave privada. Cuando los usuarios instalen la aplicación o la actualicen a una nueva versión, Play Services cotejará la clave de firma y la instalación se realizará sin problemas de desajuste de claves o fallos de firma. Dicho esto, los desarrolladores dicen que esto abre potencialmente la puerta a la inyección de código. Google dice que todas las “claves de firma se almacenan en la misma infraestructura que Google utiliza para almacenar sus propias claves“. Así que ten por seguro que todas tus claves de firma privadas están protegidas con una seguridad férrea.

Cómo funciona la transparencia del código para los Android App Bundles
Cómo funciona la transparencia del código para los Android App Bundles. Fuente: Google

Además, para calmar las preocupaciones de los desarrolladores, Google ha anunciado la Transparencia del Código, que permite a los desarrolladores generar una clave privada independiente a la que sólo podrán acceder ellos. A partir de la clave privada separada, los desarrolladores pueden crear una firma adicional que puede utilizarse para verificar la integridad de la aplicación. Sin embargo, este método tiene una limitación. La transparencia del código sólo se ocupa del código y no de los activos (assets), los recursos (resources) o el manifest. Además, se trata de una característica opcional que puede dejar a muchos desarrolladores fuera de juego.

¿Las AAB van a Dificultar las Cosas a las Tiendas de Aplicaciones de Terceros?

Otro problema que surge al compartir la clave privada con Google es que podría dificultar las cosas para las tiendas de aplicaciones de terceros. Por ejemplo, si instalas una aplicación desde la Play Store pero quieres actualizarla a la última versión desde otra alternativa de la Play Store (por ejemplo, la Amazon App Store o la Aptoide Store), la instalación podría fallar debido a una falta de coincidencia de firmas.

Esto se debe a que Google gestiona ahora la clave de firma privada, por lo que no puedes utilizar la misma clave al subir tu aplicación a una tienda de aplicaciones Android de terceros. Tendrás que utilizar otra clave privada, y eso provocará el error de falta de coincidencia de clave privada. ¿Será esto un problema para el soporte de aplicaciones Android en Windows 11? Tendremos que esperar para averiguarlo.

Windows 11 con la nueva Microsoft Store
Windows 11 viene con la nueva Microsoft Store

Aparte de eso, la presunción de que AAB impedirá a los desarrolladores subir APKs a tiendas de aplicaciones de terceros parece incorrecta. Google ya ha creado una herramienta de código abierto llamada bundletool que permite a los desarrolladores crear APKs a partir de paquetes AAB. El único problema, por ahora, es que compartir la clave de firma privada afectará a los usuarios avanzados de Android.

¿Podemos Cargar Lateralmente las AAB como si Fueran APKs?

Por lo que sabemos, parece que la carga lateral de AABs en dispositivos Android será posible, pero no será tan conveniente como la carga lateral de APKs. El instalador de paquetes de Android actualmente no es compatible con el formato de empaquetado AAB, lo que significa que la instalación de AAB en el dispositivo no será posible de forma nativa. Sin embargo, puedes utilizar aplicaciones de instalación de terceros para instalar un paquete AAB en el dispositivo.

Comparación entre APK y AAB
Comparación entre APK y AAB

Por ejemplo, actualmente, APKMirror Installer (gratuito, ofrece compra dentro de la aplicación) permite instalar paquetes APKM (APK base + APKs divididos) con su aplicación instaladora.

APKMirror Installer (Official)
APKMirror Installer (Official)
Desarrollador: APKMirror
Precio: Gratis

Aparte de eso, no serás capaz de adb sideload tu manera de instalar AABs. Tendrás que utilizar el bundletool de código abierto para obtener el APK correcto que sea compatible con tu dispositivo. A medida que los AABs se vuelvan más comunes, podrían surgir nuevos y convenientes métodos de sideloading. Ten en cuenta que si sólo cargas el APK base, tu dispositivo se bloqueará.

APK vs AAB: Ventajas y Desventajas

Después de repasar todos los puntos, se puede decir que los AAB no supondrán una gran diferencia en términos de experiencia de usuario para la mayoría de los usuarios. Sí, reducirá el tamaño de la aplicación, lo que será útil para la mayoría de los usuarios. Por ejemplo, Airbnb redujo el tamaño de su aplicación en un 22% después de cambiar de APK a AAB, mientras que Netflix redujo el tamaño de su aplicación en un 57%. Es una diferencia considerable en el tamaño de la aplicación. Aparte de eso, la abandonada función de aplicación instantánea tendrá una nueva vida con AAB en los dispositivos Android.

Sin embargo, para los usuarios avanzados que quieran cargar lateralmente las AAB, las cosas se volverán un poco complicadas e incómodas. Es posible que tengas que utilizar bundletool para extraer los APK para tu dispositivo o utilizar un instalador de terceros. Una cosa a tener en cuenta es que AAB se alejará de OBB (Opaque binary blob) para descargar grandes activos y recursos. En su lugar, utilizará Play Asset Delivery o Play Feature Delivery para descargar recursos pesados con un tamaño de descarga de 150MB o superior. Habrá que ver cómo afecta esto a los juegos de carga lateral como Battlegrounds Mobile India, PUBG Mobile, FAU-G y otros.

Ahorro de tamaño gracias a Android App Bundles
Ahorro de tamaño en apps gracias a Android App Bundles

En cuanto a los desarrolladores más afectados por este cambio, no necesitan refactorizar su código, lo cual es estupendo. Las AAB también aportan modularidad, lo que significa que pueden cambiar un fragmento de código y fusionarlo con el núcleo base sin enfrentarse a muchos conflictos de fusión. Una gran ventaja de las AAB es que aportan opciones de personalización a los desarrolladores. Pueden elegir a qué nivel de API dirigirse o qué tipo de dispositivo soportar. Los desarrolladores también pueden decidir qué características ofrecer en un tipo de dispositivo específico o en smartphones que funcionen con una versión mínima del SDK.

En cuanto a las desventajas, el centro de la cuestión es compartir la clave privada, que ahora será gestionada por Google. La incompatibilidad con las tiendas de aplicaciones de terceros podría ser otro gran problema, y los desarrolladores tendrán que hacer un esfuerzo adicional para publicar y gestionar los APK (al igual que la Play Store ahora) en otras tiendas de aplicaciones.

APK vs AAB (Android App Bundles): ¿Qué Opinas?

Para mí, el mayor problema de este cambio es la excesiva dependencia de Google. Con este cambio, el gigante de Mountain View se asegura de que Play Store siga siendo la tienda de aplicaciones de facto en los dispositivos Android. Desde el alojamiento de aplicaciones hasta la gestión de claves privadas, Google controla ahora todos los aspectos de la publicación y distribución de aplicaciones en Android. Los desarrolladores pueden estar contentos con los nuevos cambios, ya que ya no tienen que gestionar múltiples APKs, pero ¿cómo les irá a los usuarios a largo plazo? Todavía no lo sabemos. Si los desarrolladores ceden el control a Google, ¿se producirá un buen cambio? Tendremos que esperar y ver. En cualquier caso, eso es todo por nuestra parte. Pero dinos lo que piensas sobre este debate APK vs AAB en la sección de comentarios más abajo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Suscríbete a nuestros Newsletters

Recibe notificaciones de los mejores trucos y apps, además muchos regalos.

Puede que también te interese