À propos d'Android App Bundle

Un Android App Bundle est un format de publication qui contient l'ensemble du code et des ressources compilés de votre application, et qui délègue la génération de l'APK et sa signature à Google Play.

Google Play utilise votre app bundle pour générer et distribuer des fichiers APK optimisés pour chaque configuration d'appareil. Ainsi, seuls le code et les ressources nécessaires pour un appareil spécifique sont téléchargés pour exécuter votre application. Vous n'avez plus besoin de créer, de signer ni de gérer plusieurs APK pour assurer la compatibilité avec différents appareils. De leur côté, les utilisateurs bénéficient de téléchargements optimisés de plus petite taille.

La plupart des projets d'application ne nécessitent que peu d'efforts pour créer des app bundles qui permettent la diffusion d'APK optimisés. Par exemple, si vous organisez déjà le code et les ressources de votre application conformément aux conventions établies, il vous suffit de créer des packages Android App Bundle signés à l'aide d'Android Studio ou via la ligne de commande, puis de les importer dans Google Play. Vous bénéficiez ainsi automatiquement de la distribution optimisée des fichiers APK.

Si vous utilisez le format d'app bundle pour publier votre application, vous pouvez également tirer parti de Play Feature Delivery, qui vous permet d'ajouter des modules de fonctionnalités à votre projet d'application. Ces modules contiennent des fonctionnalités et des ressources qui ne sont fournies avec votre application qu'en fonction de conditions que vous spécifiez ou qui pourront être téléchargées ultérieurement au moment de l'exécution avec la bibliothèque Play Core.

Les développeurs de jeux qui publient leurs applications avec des app bundles peuvent utiliser Play Asset Delivery. Cette solution Google Play permet de distribuer de grandes quantités de ressources de jeu et offre ainsi aux développeurs des modes de distribution flexibles et de hautes performances.

Regardez la vidéo suivante pour découvrir pourquoi il peut être utile de publier votre application au format Android App Bundle.

Restriction liée à la taille de téléchargement compressée

Publier au format Android App Bundle aide les utilisateurs à installer votre application en ne téléchargeant que les éléments nécessaires, et autorise une taille de téléchargement compressée pouvant atteindre 200 Mo. Autrement dit, la taille totale des fichiers APK compressés nécessaires à l'installation de votre application (par exemple, l'APK de base et les APK de configuration) ne doit pas dépasser 200 Mo. Tous les téléchargements ultérieurs, tels que le téléchargement d'un module de fonctionnalité (et de ses APK de configuration) à la demande, doivent également respecter cette restriction de taille de téléchargement compressée. Les packs d'éléments ne sont pas comptabilisés dans cette limite de taille, mais sont soumis à d'autres restrictions de taille.

Lorsque vous importez votre app bundle, si la Play Console détermine que l'un des téléchargements de votre application ou de ses fonctionnalités à la demande dépasse 200 Mo, un message d'erreur s'affiche.

N'oubliez pas que le format Android App Bundle n'accepte pas les fichiers d'extension APK (*.obb). Dès lors, si vous rencontrez cette erreur lors de la publication de votre app bundle, utilisez l'une des ressources suivantes pour réduire la taille de téléchargement des APK compressés :

  • Veillez à activer tous les APK de configuration en définissant enableSplit = true pour chaque type de fichier APK de configuration. De cette manière, les utilisateurs ne téléchargeront que le code et les ressources nécessaires pour exécuter votre application sur leur appareil.
  • Assurez-vous de minimiser la taille de votre application en supprimant le code et les ressources superflus.
  • Appliquez les bonnes pratiques pour réduire davantage la taille de l'application.
  • Envisagez de convertir les fonctionnalités qui ne sont utilisées que par certains de vos utilisateurs en modules de fonctionnalités pouvant être téléchargés ultérieurement, à la demande. N'oubliez pas que cela peut nécessiter une refactorisation de votre application. Assurez-vous donc d'essayer d'abord les autres suggestions décrites ci-dessus.

Autres points à prendre en compte

Vous trouverez ci-dessous les problèmes connus actuels qui peuvent survenir lors de la création ou de la distribution de votre application au format Android App Bundle. Si vous rencontrez d'autres problèmes que ceux décrits ci-dessous, veuillez signaler un bug.

  • Les installations partielles d'applications téléchargées indépendamment (applications qui ne sont pas installées avec le Google Play Store et pour lesquelles il manque une partie des APK divisés) échouent sur tous les appareils certifiés Google et sur les appareils équipés d'Android 10 (niveau d'API 29) ou version ultérieure. Lorsque vous téléchargez votre application via le Google Play Store, Google s'assure que tous les composants requis sont installés.
  • Si vous utilisez des outils qui modifient dynamiquement les tables de ressources, les APK générés à partir des app bundles peuvent se comporter de manière inattendue. Par conséquent, lorsque vous créez un app bundle, nous vous recommandons de désactiver ces outils.
  • Il est actuellement possible de définir, dans la configuration de compilation d'un module de fonctionnalité, des propriétés qui sont en conflit avec celles des modules de base ou d'autres modules. Par exemple, vous pouvez définir buildTypes.release.debuggable = true dans le module de base et définir cette propriété sur false dans un module de fonctionnalité. De tels conflits peuvent entraîner des problèmes de compilation et d'exécution. Gardez à l'esprit que, par défaut, les modules de fonctionnalités héritent de certaines configurations de compilation du module de base. Assurez-vous donc de bien comprendre quelles configurations vous devez conserver, et lesquelles vous devez omettre dans la configuration de la compilation des modules de fonctionnalités.

Ressources supplémentaires

Pour en savoir plus sur le format Android App Bundle, consultez les ressources suivantes.

Articles de blog

Vidéos