[Android] Mettre à jour un bundle Play Store pour votre PWA

Vous avez développé une PWA pour votre activité professionnelle et créé un bundle compatible pour le Play Store, mais souhaitez le mettre à jour, par exemple pour mettre à niveau le SDK cible ? Ce petit tutoriel vous indique la marche à suivre.

La méthode implique d’utiliser l’outil en ligne PWABuilder, qui propose en fait une interface utilisateur conviviale à Bubblewrap. Ce dernier est un ensemble d’outils permettant de générer des applications Android qui lancent des Progressive Web Apps. Elles peuvent alors être ajoutées au Play Store.

Préparer le bundle

Si ce n’est pas la première fois que vous générez un bundle, vous devriez disposer d’une clé pour signer votre application.

  • Ouvrez PWABuilder dans votre navigateur préféré.
  • Dans la zone « Enter the URL to your PWA » indiquez l’adresse de votre application. Cliquez ensuite sur le bouton Start.
  • Le site va analyser votre manifeste et vous indiquer les erreurs/avertissements. Il se pourrait que votre manifeste ait changé depuis la dernière fois. Vérifiez donc bien les informations et corrigez-les si nécessaire, puis tentez l’opération à nouveau.
  • Une fois l’opération terminée, cliquez sur le bouton Package for stores.

  • Sous la section Android, choisissez Generate Package.
  • Vérifiez les informations pré-remplies et corrigez-les si nécessaire.
  • Important : mettez à jour…
    • Le numéro de version.
    • Le code de version du bundle.
  • Ensuite cliquez sur la flèche à côté du libellé All settings.
  • Défilez jusqu’à voir Signing key. Cochez la case Use mine.
  • Sélectionnez le fichier existant de votre keystore.
  • Indiquez ensuite l’alias et le mot de passe de la clé, ainsi que celui du keystore.
  • Cliquez sur Download package et patientez pendant que celui-ci est généré.
  • Enregistrez l’archive ZIP puis placez le fichier .aab et le keystore à l’emplacement de votre choix.

Il se pourrait que la version du SDK cible générée ne soit pas la bonne, car l’outil PWABuilder n’est pas actualisé dès la sortie des nouveaux kits de développement. Vous pouvez vérifier la version en consultant le fichier AndroidManifest.xml dans l’archive du bundle (il s’agit du fichier .aab).

Mettre à jour manuellement le SDK cible

Si la version n’est pas correcte dans le manifeste du bundle, vous pouvez la mettre à jour manuellement à l’aide de différents outils et plusieurs lignes de commandes.

Au préalable il vous faudra installer (une seule fois) ces fameux outils. Dans notre cas, nous utilisons une machine Windows.

  • Télécharger et installer Scoop : scoop.sh.
  • Télécharger bundletool JAR : GitHub – Bundletool.
  • Placer le fichier .jar dans C:\Tools\Android. Renommez-le en bundletool.jar.
  • Télécharger les binaires Protocol Buffer (x64) : GitHub – Protocol Buffers.
  • Placez le fichier bin\protoc.exe dans C:\Tools\Android.
  • Ajoutez le dossier C:\Tools\Android dans la variable d’environnement utilisateur PATH.
  • Téléchargez l’archive JAR aapt2-proto. Ici il s’agit de la version 3.6.3.
  • Décompressez son contenu dans C:\tools\Android\proto. Vous devriez trouver, entre autres, un fichier Resources.proto.
  • Créez une variable d’environnement utilisateur nommée APP_PROTO et pointant vers ce dossier.
  • Téléchargez un installateur de Java JDK (x64) : Télécharger Java LTS.
  • Ajoutez le dossier C:\Program Files\Java\jdk-xx\bin à la variable d’environnement PATH (toujours au niveau utilisateur).
  • Installez l’utilitaire unzip.
scoop install unzip
  • Installez l’utilitaire zip.
scoop install zip

Ensuite il faudra réaliser les opérations suivantes :

  • Ajouter une macro pour bundletool.
doskey bundletool=java -jar C://Tools//Android//bundletool.jar $*
  • Dans un invite de commandes, placez vous dans le répertoire qui contient le fichier .aab et le keystore (décompressés lors des étapes précédentes).
  • Décompressez le contenu du fichier bundle.
unzip myApp.aab && cd base
  • Décodez le manifeste.
protoc -I %APP_PROTO% Resources.proto --decode=aapt.pb.XmlNode <manifest/AndroidManifest.xml >manifest.txt
  • Cherchez après la ligne targetSdkVersion dans le fichier texte.
  • Modifiez la valeur du SDK cible. En général il suffit juste d’incrémenter les valeurs.
    • Modifiez le champ value avec la valeur désirée.
    • Indiquez la même valeur dans int_decimal_value.
  • Ré-encodez le manifeste.
protoc -I %APP_PROTO% Resources.proto --encode=aapt.pb.XmlNode >manifest/AndroidManifest.xml <manifest.txt
  • Créez une archive avec le dossier base.
zip -r base.zip *
  • Re-créez le nouveau bundle.
bundletool build-bundle --modules base.zip --output ./myApp.aab
  • Remontez ensuite dans le répertoire parent.
cd ..
  • Signez l’archive du bundle. Pour ce faire n’oubliez pas de remplacer la passphrase dans la commande suivante par celle utilisée lors de la création de la clé.
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore signing.keystore myApp.aab my-key-alias
  • Le bundle .aab est prêt à être mis à jour sur le Play Store.

Importer le bundle

Maintenant que le nouveau bundle est prêt, importez-le depuis la Google Play Console.

  • Affichez le tableau de bord principal puis sélectionnez votre application.
  • Depuis le menu latéral gauche, cliquez sur Tester et publier > Versions et app bundles récents.
  • Dans le résumé, cliquez sur Afficher tous les app bundles, à droite sous la première liste.
  • Ensuite cliquez sur le lien Importer une nouvelle version dans le coin supérieur droit.
  • Importez le fichier .aab récemment créé/modifié. Patientez quelques secondes.

Créer une release en production

Enfin il est nécessaire de créer une nouvelle release.

  • Toujours depuis le panneau latéral de gauche, choisissez Tester et publier > Production.
  • Cliquez sur le lien Créer une nouvelle version dans le coin supérieur droit.
  • Sélectionnez le bundle depuis la bibliothèque.
  • Une fois la version sélectionnée, vérifiez que le SDK cible est correct.
  • Ajoutez les notes de publication (facultatif).
  • Confirmez. Si des erreurs sont détectées, il faudra les corriger.
  • Une fois les erreurs corrigées, il est possible de visualiser un aperçu de la publication et de l’envoyer pour examen.

Vous savez désormais comment mettre à jour un bundle pour votre PWA.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *