Le format de fichier d’application Android, APK (Android PacKage), nous accompagne depuis le lancement d’Android en 2008. Il est portable et facile à créer car il ne s’agit que d’un fichier .zip organisé et largement pris en charge par une variété d’outils. Windows 11 prendra en charge le format dans le cadre du prochain Compatibilité Android. Cependant, Google ne souhaite plus que les fichiers APK soient le moyen de publier une application Android. Le Google Blog des développeurs Android Il résume comment, à partir du mois d’août, les nouvelles applications téléchargées sur le Play Store devront utiliser le nouveau format Android App Packages (AAB) pour distribuer les applications. Cela semble n’être que le début, et Google dit que les bundles d’applications « remplaceront l’APK en tant que format de publication standard ».
Les bundles d’applications Android ont été introduits dans l’écosystème Android en 2018, et j’ai écrit une grande section à leur sujet dans Test d’Android 9. L’idée de base des ventes est que les appareils Android ont beaucoup de combinaisons matérielles et linguistiques différentes que les applications doivent prendre en charge, et l’envoi de tout ce code à chaque appareil individuel est une perte d’espace. Android prend en charge plus de 150 langues, Quatre différents Architectures CPU (ARMv7, ARMv8, x86, x86_64) et de nombreuses combinaisons de résolutions d’écran. Il est courant de regrouper tout cela dans un seul APK (bien qu’il soit parfois décomposé par architecture de processeur), mais cela signifie que chaque machine reçoit beaucoup de code et de ressources qui ne sont pas pertinents pour leur combinaison spécifique de processeur, de paramètres régionaux et de taille d’écran. Bien que ce gaspillage d’espace de stockage n’ait pas beaucoup d’importance sur les téléphones haut de gamme avec de bonnes connexions Internet, cela peut être un gros problème pour les appareils moins chers avec un stockage limité et dans les endroits où l’Internet rapide est difficile à trouver.
La solution de Google est l’Android App Bundle, qui transforme la distribution d’applications Android d’un APK global monolithique en un ensemble de « APK divisés » qui peuvent être spécifiquement distribués via le Google Play Store sur chaque appareil individuel. Comme leur nom l’indique, ces « APK divisés » ne sont pas des applications complètes. Ils font partie d’une application, chacun ciblant un domaine de changement spécifique, qui se combinent pour former l’application finale. Avec App Bundles, si vous avez un appareil ARMv8 HD avec un paramètre de langue spécifique à l’anglais avec App Bundles, le Play Store diffusera un tas d’APK divisés qui ne prennent en charge que ce type d’appareil. Si votre ami a un téléphone ARM v7 basse résolution pour l’anglais et l’hindi, il obtiendra un autre ensemble de fichiers APK qui prend en charge exactement cela. Google Play peut créer des APK personnalisés pour chaque utilisateur, en leur donnant uniquement le code dont ils ont besoin et rien de plus. Google dit que le résultat est des applications qui sont 15 % plus petites qu’un APK global.
Les développeurs utilisant des packages d’applications peuvent placer des modules Caractéristiques depuis l’application. Cela permet aux fonctionnalités d’être fournies uniquement aux appareils qui les prennent en charge, ou elles ne sont pas incluses dans le téléchargement initial et ne sont disponibles pour les utilisateurs que sous forme de téléchargement à la demande. La même fonctionnalité démarre à la demande si l’utilisateur modifie les paramètres de langue.
Bien que l’App Bundle préfère envoyer les nouveaux APKs fractionnés cool, il n’est pas obligé de le faire. Puisqu’il peut formater les applications comme il le souhaite, il est toujours possible de créer un fichier APK homogène et rétrocompatible. Cela rend l’approche universellement compatible avec tous les téléphones Android, quelle que soit la négligence de votre appareil actuel.
App bundles contre l’écosystème autre que Google Play
Comme de nombreuses nouvelles fonctionnalités Android, le passage des APK aux Android App Bundles se traduit par un ensemble de fonctionnalités plus complexes et sophistiquées pour les déploiements d’applications. Mais cela donne également à Google plus de contrôle sur l’écosystème Android. Ensembles d’applications Android Besoin à traiter par l’ordinateur cloud de l’App Store afin d’être utile. Alors que les bundles d’applications sont un format open source et que Google a open source « Paquet« Qui peut l’agréger, certaines autres entreprises peuvent avoir besoin de créer leur propre infrastructure, de payer le serveur pour l’héberger dans le cloud et de faire face à des exigences de signature d’application redoutables (nous en parlerons plus tard).
Les packages applicatifs, étant open source, permettent aux outils de développement de les prendre en charge plus facilement. Mais un magasin d’applications alternatif devra assumer tellement de travail et de responsabilités qu’il est peu probable que le format devienne autre chose que le bundle d’applications Google Play.
La signature d’application est l’un des principaux composants de sécurité des fichiers APK. Il s’agit d’un certificat numérique appartenant au développeur de l’application qui certifie qu’il a créé l’application. La signature de l’application n’est pas vraiment pertinente lors de la première installation, mais pour chaque point suivant, les signatures doivent correspondre. Cela signifie que seul le propriétaire du certificat – le développeur de l’application d’origine – est en mesure de mettre à jour cette application. Aucun tiers aléatoire ne peut générer un fichier APK appelé « Google-Pay.apk » qui écrase la véritable application Google Pay et vole toutes vos informations bancaires.
Les packages d’applications publient des fichiers APK. Cela signifie que l’ensemble du système de création d’applications doit être hébergé dans le cloud. Cela signifie également héberger chaque clé de signature pour une application de développeur individuelle dans le cloud, en transférant efficacement la responsabilité de l’application du développeur à Google. Google appelle cela « Google Play App Signing », et la société promet sérieusement que vous possédez toujours l’application et que vous y aurez toujours accès. Mais cet arrangement est un peu comme transférer le titre de votre maison à un tiers.
Le contrôle de Google sur le Play Store signifie qu’il possède déjà la rue et l’allée, mais qu’il a désormais plus de contrôle sur votre application. Si les équipes Google Play en itinérance depuis Bots de finition automatisés Ciblez votre compte développeur sur certains infraction perceptible, vous aurez un droit de retour inférieur.
Les bundles d’applications Android placent une énorme quantité de pouvoir et de responsabilité entre les mains du propriétaire de l’App Store. Dans le cas où l’infrastructure de l’App Store est compromise, un tiers peut accéder aux clés du développeur et commencer à diffuser des mises à jour malveillantes. Si vous ne faites pas confiance au propriétaire de l’App Store, c’est dommage. Ils possèdent désormais la clé de signature et peuvent modifier votre application à votre insu, s’ils le souhaitent. Le gouvernement peut également forcer le propriétaire de la boutique d’applications à modifier votre application. Dans le cas de Google, l’entreprise est susceptible de faire un meilleur travail sur la sécurité du stockage que la plupart des développeurs d’applications. Mais encore une fois, il est difficile d’imaginer des magasins autres que Google adopter cela.
Google a fait quelques concessions pour apaiser les inquiétudes à ce sujet. Les développeurs peuvent conserver une copie locale de la clé de signature qu’ils téléchargent sur Google, ce qui leur permet de créer des mises à jour valides pouvant être installées sur les versions de Google Play. Les développeurs peuvent également télécharger des « APK de distribution » signés à partir de la console développeur de Google Play, qui sont des APK universels à l’ancienne qui peuvent être téléchargés vers d’autres magasins d’applications. Si vous craignez que Google modifie votre application sans votre consentement, Google indique « Nouvelle option »Symbole de transparenceLa fonctionnalité permettra aux développeurs de vérifier que les hachages dans le code d’une application téléchargée correspondent à ce qu’ils ont téléchargé.
À partir d’août, les bundles d’applications seront obligatoires pour les nouvelles applications. Google dit, pour l’instant, que « les applications existantes sont actuellement exemptées » de l’exigence de l’ensemble d’applications. Nous considérerons la présence du mot « actuellement » comme un excellent indicateur des projets futurs.
Pour Google, les bundles d’applications Android sont un gros problème. Lors de Google I/O 2018, la société a déclaré que si chaque application était convertie en paquets, Google économiserait 10 pétaoctets de bande passante. Journée, qui est un nombre stupéfiant indiquant l’échelle dans laquelle le Play Store fonctionne. Pour ceux d’entre nous qui ne se soucient pas des factures de bande passante de Google, les 15 % d’économie d’espace valent-ils vraiment la peine de changer l’ensemble du système APK et de transférer plus de puissance vers le Play Store et les serveurs Google ?
Liste des images par Le Google
« Amateur de musique. Joueur. Alcooliste. Lecteur professionnel. Spécialiste du Web. »