Google Play borra los APK del «Android App Bundle» que ya no controla Google
El formato de archivo de la aplicación de Android, APK (Android PacKage), ha estado con nosotros desde el lanzamiento de Android en 2008. Es portátil, fácil de crear porque es solo un archivo .zip, estructurado y ampliamente compatible con una variedad de herramientas. Windows 11 incluso admitirá el formato como parte de su próximo Compatibilidad con Android. Sin embargo, Google ya no quiere que los APK sean la forma de publicar una aplicación de Android. de Google Blog para desarrolladores de Android resume cómo, a partir de agosto, las nuevas aplicaciones descargadas de Play Store necesitarán usar el nuevo formato de Android App Bundles (AAB) para distribuir aplicaciones. Parece un comienzo, y Google dice que los paquetes de aplicaciones «reemplazarán a APK como formato de publicación estándar».
Los paquetes de aplicaciones de Android se introdujeron en el ecosistema de Android en 2018, y escribí una gran sección sobre ellos en el Prueba de Android 9. El punto de venta básico es que los dispositivos Android tienen muchas combinaciones diferentes de hardware e idiomas que las aplicaciones deben admitir, y enviar todo ese código a cada dispositivo individual es una pérdida de espacio. Android admite más de 150 idiomas, cuatro diferentes Arquitecturas de CPU (ARMv7, ARMv8, x86 y x86_64) y múltiples compartimentos de resolución de pantalla. Es común apilar todo esto en un solo APK (aunque a veces se desglosan por arquitectura de procesador), pero eso significa que cada dispositivo recibe una gran cantidad de código y recursos que no son relevantes para su combinación de procesador específica., Regional y ajustes de pantalla. Tamaño. Si bien este desperdicio de espacio de almacenamiento no importa mucho en teléfonos de alta gama con buenas conexiones a Internet, puede ser un gran problema para dispositivos más baratos, con almacenamiento limitado y en lugares donde hay Internet disponible, es difícil encontrar rápido.
La solución de Google es Android App Bundle, que transforma la distribución de aplicaciones de Android de un APK monolítico y universal en una colección de «APK divididos» que se pueden distribuir específicamente a través de Google Play Store para cada dispositivo individual. Como sugiere el nombre, estos «APK divididos» no son aplicaciones completas. Son parte de una aplicación, cada una de las cuales tiene como objetivo un área específica de cambio, que se combinan para formar la aplicación final. Con App Bundles, si tiene un dispositivo ARMv8 de alta resolución con una configuración regional configurada en inglés con App Bundles, Play Store escupe un montón de APK divididos que solo admiten ese tipo de dispositivo. Si tu amigo tiene un teléfono ARM v7 de baja resolución para inglés e hindi, obtendrán otro conjunto de APK que admitan exactamente eso. Google Play puede generar APK personalizados para cada usuario, dándoles solo el código que necesitan y nada más. Google dice que el resultado son aplicaciones que son un 15% más pequeñas que un APK universal.
Los desarrolladores que utilizan paquetes de aplicaciones pueden incluso modularizar características Una aplicación. Esto permite que las funciones se entreguen solo a dispositivos que las admitan, o simplemente no se incluyen en la descarga inicial y solo están disponibles para los usuarios como una descarga bajo demanda. La misma funcionalidad bajo demanda se activa si un usuario cambia la configuración regional.
Aunque el sistema App Bundle prefiere enviar APK nuevos y sofisticados, no tiene por qué hacerlo. Dado que puede formatear aplicaciones como desee, aún se puede generar un APK monolítico compatible con versiones anteriores. Esto hace que el enfoque sea universalmente compatible con todos los teléfonos Android, sin importar cuán pasado por alto sea su dispositivo actual.
Paquetes de aplicaciones frente al ecosistema que no es de Google Play
Al igual que muchas funciones nuevas de Android, el cambio de APK a Android App Bundles da como resultado un conjunto de funciones más complejo y sofisticado para la implementación de aplicaciones. Pero también le da a Google mucho más control sobre el ecosistema de Android. Paquetes de aplicaciones de Android necesitar para ser procesado por la computadora en la nube de una tienda de aplicaciones para que sea útil. Si bien los paquetes de aplicaciones son un formato de código abierto y Google tiene un código abierto «bundletool«¿Quién puede compilarlos? Otra empresa necesitaría construir su propia infraestructura, pagar los costos del servidor para alojarlo en la nube y manejar los aterradores requisitos de firma de aplicaciones (de eso hablaremos más adelante)».
Dado que los paquetes de aplicaciones son de código abierto, las herramientas de desarrollo pueden admitirlos más fácilmente. Pero una tienda de aplicaciones alternativa tendría que asumir tanto trabajo y responsabilidad que es poco probable que el formato se convierta en otra cosa que no sea el paquete de la aplicación Google Play.
Uno de los principales componentes de seguridad de los APK es la firma de aplicaciones. Este es un certificado digital perteneciente al desarrollador de la aplicación que certifica que él creó la aplicación. La firma de la aplicación no es realmente relevante durante la primera instalación, pero para cada punto posterior, las firmas deben coincidir. Esto significa que solo el propietario del certificado (el desarrollador de la aplicación original) puede actualizar esta aplicación. Ningún tercero al azar puede crear un APK llamado «Google-Pay.apk» que sobrescribe la aplicación real de Google Pay y roba toda su información bancaria.
Los paquetes de aplicaciones escupen APK. Esto significa que se debe alojar un sistema completo de creación de aplicaciones en la nube. También significa alojar todas las claves de firma de aplicaciones para desarrolladores en la nube, transfiriendo efectivamente la responsabilidad de una aplicación del desarrollador a Google. Google llama a esto «firma de aplicaciones de Google Play» y la empresa promete seriamente que aún eres el propietario de la aplicación y que siempre tendrás acceso a ella. Pero este arreglo es un poco como transferir la escritura de su casa a un tercero.
El control de Google sobre Play Store significa que ya era dueño de la calle y el camino de entrada, pero ahora tiene aún más control sobre su aplicación. Si los grupos de roaming de Google Play robots de terminación automatizados oriente su cuenta de desarrollador para algunos ofensa percibida, tendrá aún menos recursos.
Los paquetes de aplicaciones de Android colocan una enorme cantidad de poder y responsabilidad en manos del propietario de la tienda de aplicaciones. Si la infraestructura de la tienda de aplicaciones se ve comprometida, un tercero podría obtener acceso a las claves del desarrollador y comenzar a distribuir actualizaciones maliciosas. Si no confía en el propietario de la App Store, lástima. Ahora tienen la clave de firma y pueden modificar su aplicación sin su conocimiento, si así lo desean. Un gobierno también podría obligar al propietario de la tienda de aplicaciones a modificar su aplicación. En el caso de Google, la empresa probablemente esté haciendo un mejor trabajo de seguridad del almacenamiento que la mayoría de los desarrolladores de aplicaciones. Pero, de nuevo, es difícil imaginar que otras tiendas además de Google lo adopten.
Google ha hecho algunas concesiones para disipar las preocupaciones sobre esto. Los desarrolladores pueden conservar una copia local de la clave de firma que cargan en Google, lo que les permite generar actualizaciones válidas que se pueden instalar en versiones de Google Play. Los desarrolladores también pueden descargar «APK de distribución» firmados desde Google Play Developer Console, que son APK universales anticuados que se pueden cargar en otras tiendas de aplicaciones. Si le preocupa que Google modifique su aplicación sin su consentimiento, Google indica una nueva «transparencia de código«permitirá a los desarrolladores verificar que los hash del código de la aplicación descargada coincidan con lo que descargaron.
A partir de agosto, los paquetes de aplicaciones serán obligatorios para las nuevas aplicaciones. Google dice que, por ahora, «las aplicaciones existentes están actualmente exentas» del requisito de agrupación de aplicaciones. Consideraremos la presencia de la palabra “actualmente” como un gran indicador de planes futuros.
Para Google, los paquetes de aplicaciones de Android son un gran problema. Durante Google I / O 2018, la compañía dijo que si cada aplicación se actualizara a paquetes, Google ahorraría 10 petabytes de ancho de banda. por día, que es un número increíble que indica la escala en la que opera Play Store. Para aquellos de nosotros a los que no nos importan las facturas de ancho de banda de Google, sin embargo, ¿realmente vale la pena un ahorro potencial de espacio del 15% para alterar todo el ecosistema de APK y transferir nuevamente? ¿Más potencia a Play Store y a los servidores de Google?
Mostrar imagen por Google
«Jugador orgulloso. Gurú del café. Alcoholico galardonado. Entusiasta de la cerveza. Estudiante. Aficionado a los zombis. Lector. Especialista en música. Aficionado a la comida».