Vous compilez votre première application Android, cliquez sur télécharger, et soudain il y a deux fichiers : l'un se termine par .apk et l'autre par .aab. Lequel envoyer à votre ami ? Lequel va sur Google Play ? Pouvez-vous simplement renommer l'un en l'autre ?
Réponse courte : l'APK sert à installer, l'AAB sert à publier sur Google Play. Vous voulez presque toujours les deux. Voici pourquoi, en termes simples.
Qu'est-ce qu'un APK ?
APK signifie Android Package. C'est le fichier qu'Android installe réellement. Il contient le code de votre application, ses images et ses mises en page, le manifeste qui décrit l'application (nom, nom du package, autorisations) et une signature numérique qui prouve qui l'a compilée.
Un APK est complet à lui seul. Vous pouvez le copier sur un téléphone, le toucher et l'installer. Vous pouvez le joindre à un e-mail, le mettre sur votre site web ou le donner à un testeur. Chaque application sur chaque téléphone Android finit sous la forme d'un ou plusieurs APK, même celles qui viennent de Google Play.
Qu'est-ce qu'un AAB ?
AAB signifie Android App Bundle. Google le décrit comme un format de publication : il contient tout le code compilé et toutes les ressources de votre application, mais il laisse la dernière étape, la génération et la signature des APK, à Google Play.
C'est la différence essentielle. Vous ne pouvez pas toucher un AAB sur un téléphone pour l'installer. C'est un paquet que vous donnez à la boutique, et la boutique le transforme en APK installables.
Pourquoi s'embêter ? Parce que les téléphones sont différents. Un téléphone d'entrée de gamme avec un petit écran n'a pas besoin des très grandes images prévues pour une tablette, et un téléphone réglé en espagnol n'a pas besoin de votre texte en japonais. À partir d'un seul bundle, Google Play génère des APK optimisés pour chaque configuration d'appareil, si bien que chaque téléphone ne télécharge que le code et les ressources dont il a besoin. Les utilisateurs ont des téléchargements plus légers, et vous n'avez plus à compiler et gérer un APK séparé pour chaque type d'appareil.
Pourquoi Google Play exige un AAB
Depuis août 2021, les nouvelles applications sur Google Play doivent être publiées sous forme d'Android App Bundles. Si vous créez aujourd'hui une nouvelle application dans la Play Console et essayez d'importer un APK, il ne sera pas accepté pour cette application. Vous importez l'AAB, et Play s'occupe du reste.
Le format bundle fonctionne aussi avec des fonctions Play supplémentaires comme Play Feature Delivery et Play Asset Delivery, qui permettent aux grosses applications de télécharger certaines de leurs parties plus tard. Pour une petite application classique créée à partir d'un site web ou de fichiers HTML, vous n'en aurez pas besoin. L'essentiel est simplement que l'AAB est le ticket d'entrée dans la boutique.
La signature d'application Play et la clé d'importation
Chaque application Android doit être signée, et chaque mise à jour doit être signée avec la même clé que la version déjà installée. Si vous perdez la clé, vous ne pouvez plus publier de mises à jour pour cette application. C'était un vrai risque pour les petits développeurs, et c'est une grande raison pour laquelle Google a introduit la signature d'application Play.
Avec la signature d'application Play, il y a deux clés :
- La clé de signature d'application. Google la conserve sur sa propre infrastructure de clés sécurisée et l'utilise pour signer les APK livrés sur les téléphones des utilisateurs.
- La clé d'importation. C'est vous qui la conservez. Vous l'utilisez pour signer votre AAB avant de l'importer dans la Play Console, pour que Google sache que l'importation vient bien de vous.
Le bon côté, c'est ce qui se passe en cas de problème. Si vous perdez votre clé d'importation, ou pensez que quelqu'un d'autre l'a, vous n'êtes pas bloqué hors de votre application. Vous créez une nouvelle clé d'importation, exportez son certificat et demandez une réinitialisation dans la Play Console. Les nouvelles applications sont inscrites automatiquement à la signature d'application Play.
Même avec ce filet de sécurité, traitez votre clé comme les clés de la maison de votre application. Sauvegardez-la en lieu sûr, par exemple sur un espace de stockage en ligne ou dans un gestionnaire de mots de passe, et utilisez le même fichier de clé pour chaque mise à jour.
Pourquoi un APK reste utile
Si Google Play n'accepte que les AAB, vous pourriez penser que l'APK est dépassé. Ce n'est pas le cas. De nombreuses tâches ne peuvent être faites qu'avec un APK :
- Tester sur votre propre téléphone. Avant d'importer quoi que ce soit, vous voulez installer l'application et parcourir chaque écran. Un APK s'installe en quelques secondes.
- Partager avec des amis, des clients ou des collègues. Toutes les applications n'ont pas leur place dans une boutique publique. Un outil interne pour une petite équipe, une application de menu pour un restaurant ou un projet scolaire peuvent simplement être partagés sous forme d'APK.
- Autres boutiques et votre propre site web. Certaines boutiques d'applications alternatives et de nombreux téléchargements directs fonctionnent encore avec des fichiers APK.
- Vérifications rapides avant une publication. Si un testeur signale un bug, vous pouvez lui envoyer un APK corrigé en quelques minutes au lieu d'attendre l'examen de la boutique.
Une chose à savoir sur le partage d'APK : lorsque la signature d'application Play est activée, la copie que les utilisateurs obtiennent sur Google Play est signée avec la clé de signature d'application de Google, tandis que l'APK que vous compilez vous-même est signé avec votre clé d'importation. Android considère que ce sont des signatures différentes : un téléphone qui a installé votre propre APK ne peut donc pas simplement le mettre à jour depuis Google Play, et inversement. Pour les testeurs, ce n'est généralement pas un problème ; il suffit de désinstaller la version de test avant d'installer depuis la boutique. Gardez aussi à l'esprit que Google déploie la vérification des développeurs pour les applications installées sur des appareils Android certifiés, ce qui concerne les APK partagés en dehors de la boutique. Nous en parlons dans un article séparé.
Comparaison rapide
- Installer directement sur un téléphone : APK oui, AAB non.
- Importer sur Google Play comme nouvelle application : AAB oui, APK non.
- Qui signe l'application finale installée par les utilisateurs : pour un APK, vous ; pour un AAB sur Play avec la signature d'application Play, Google, avec la clé de signature d'application.
- Taille du téléchargement pour les utilisateurs : un APK est le même fichier pour tout le monde ; à partir d'un AAB, Play génère des APK plus légers pour chaque appareil.
Comment Free HTML to APK vous donne les deux
Quand vous compilez avec Free HTML to APK, vous n'avez pas à choisir un format puis à chercher comment obtenir l'autre. À l'étape de sortie, choisissez APK + AAB et vous obtenez les deux à partir de la même compilation :
- un APK signé à installer sur votre propre téléphone et à partager avec des testeurs, et
- un Android App Bundle, signé avec votre clé, prêt à être importé dans la Play Console, où cette clé sert de clé d'importation pour la signature d'application Play.
Le générateur du site freehtmltoapk.com fonctionne à partir de l'URL d'un site web, de fichiers HTML, d'un ZIP ou d'un dossier. Il est gratuit, ne demande pas de compte et n'ajoute pas de filigrane. Vous pouvez le laisser créer une clé de signature pour vous, ou utiliser le fichier de clé que vous avez déjà (.jks, .keystore, .p12 ou .pfx) lorsque vous mettez à jour une application existante. Si vous préférez travailler en déplacement, l'application Android « HTML to APK: Website to App » compile de la même façon, directement sur votre téléphone.
Quelle que soit celle que vous utilisez, la règle est la même : gardez votre clé en sécurité et compilez chaque mise à jour avec elle.
Quel fichier vous faut-il ?
Si vous testez ou partagez directement, il vous faut l'APK. Si vous publiez sur Google Play, il vous faut l'AAB. Si vous faites les deux, comme la plupart des gens, compilez les deux et gardez-les avec votre clé de signature.
Prêt à créer un bundle ? Consultez HTML en AAB pour en compiler un, et le guide de publication sur Google Play pour chaque étape, de la configuration de la Play Console à votre première publication.