Dynamic Android permettra aux développeurs de tester AOSP sur n’importe quel appareil Android Q

Grâce à Project Treble, les fabricants de téléphones intelligents ont fourni des mises à jour logicielles d'Android Pie plus rapidement que pour la mise à jour Android Oreo, du moins pour les smartphones phares. Google ne souhaite toutefois pas que seuls les constructeurs bénéficient des avantages de Project Treble. La société avait précédemment exprimé son intérêt pour la publication d'une image système générique (GSI) d'Android Q à l'intention des développeurs, afin qu'ils n'aient pas à se fier sur des émulateurs, à utiliser un service de cloud ou à attendre une mise à jour sur leur propre appareil pour tester une application. le dernier niveau de l'API. En théorie, la publication d'un GSI devrait permettre à tout développeur possédant un appareil compatible avec Project Treble (à l'origine, Android 8.0 Oreo et versions ultérieures, mais désormais considéré uniquement comme des appareils utilisant Android 9 Pie) pour tester la dernière version d'Android. Tout ce que le développeur a à faire, c'est de flasher une image système par-dessus son installation logicielle existante, sans avoir besoin d'une récupération personnalisée, d'un démarrage ou d'une image fournisseur.

Cependant, le processus d’installation actuel de GSI pose plusieurs problèmes. Tout d’abord, vous avez besoin d’un chargeur de démarrage déverrouillé, ce qui n’est pas possible sur les appareils Huawei ou Honor (sans payer de frais), les appareils Nokia de HMD Global (à l’exception du Nokia 8) ou les appareils de marque américaine. Ensuite, le processus sera difficile pour ceux qui ne sont pas familiers avec les images clignotantes via Fastboot. Enfin, pour flasher un GSI, vous devrez effacer complètement la mémoire de stockage interne, ce qui signifie que vous voudrez probablement disposer d’un périphérique de secours sur lequel vous pourrez effectuer des tests. Pour le moment, flasher un GSI n’est que quelque chose que les constructeurs utilisent pour tester la compatibilité de Project Treble sur leurs périphériques et, au-delà, cela n’attire que les inconditionnels du ROM. Le nouveau projet «Android dynamique» de Google pourrait vouloir changer cela.

Dynamic Android: testez facilement les fichiers AOSP GSI sur n'importe quel périphérique Android Q

Au cours des derniers mois, Google a travaillé sur un moyen de démarrer un GSI en toute sécurité sans avoir à déverrouiller le chargeur de démarrage. En bref, Google développe une application dotée d'autorisations spéciales lui permettant de télécharger un fichier GSI, de lui réserver de l'espace de stockage et de marquer le fichier GSI comme étant démarrable. Ce projet comporte plusieurs composantes. Nous allons donc en discuter une par une.

Android dynamique et Android sur le robinet

Deux nouveaux services sont ajoutés à Android Q: les services Dynamic Android et Android On Tap. Alors que Dynamic Android gère l’installation d’un GSI, Android On Tap informe les applications système des rappels et des intentions de diffusion. Par exemple, Android On Tap demande au KeyguardManager de demander à l'utilisateur de confirmer une demande d'installation si le périphérique est protégé par un code PIN, un mot de passe ou un modèle. AOT avertit également l'utilisateur lorsqu'il est démarré dans un GSI.

Selon la description de «DynamicAndroidManager», le service «offre un mécanisme pour utiliser temporairement une nouvelle image Android». Après l'installation, l'appareil peut redémarrer dans l'image nouvellement installée avec une / des données nouvellement créées. Le redémarrage en mode GSI renvoie l'utilisateur à l'image système d'origine, mais l'image nouvellement installée et ses données sont simplement désactivées et non supprimées. Si l'utilisateur choisit de le faire, le GSI et ses données peuvent toutefois être complètement supprimés.

Android dynamique dans Android Q

Sources: [1], [2], [3], [4]

GSID

Le démon GSI alloue de l'espace dans la partition / data pour stocker l'image GSI et ses données et rendre l'image amorçable. Les métadonnées du GSI sont stockées dans / métadonnées, tandis que le GSI lui-même et ses données sont stockés dans / data / gsi. Par défaut, le GSID alloue 8 Go de données utilisateur au GSI nouvellement installé. En général, le GSID recherche au moins 40% d’espace libre avant de commencer une installation. Enfin, le démon empêche l’utilisateur d’installer un fichier GSI dans un fichier GSI, pour des raisons évidentes.

Sources: [1], [2], [3], [4]

Sécurité

Android Verified Boot (AVB) est activé pour l'image système EXT4 récemment installée (system_gsi monté sur / système). Google a également mis en place des règles SELinux pour les nouveaux services. Enfin, l'installation d'un fichier GSI nécessite une application pour disposer de la nouvelle autorisation MANAGE_DYNAMIC_ANDROID. Il s’agit d’une autorisation au niveau de la signature, ce qui signifie que l’application doit être signée par le fabricant OEM.

Sources: [1], [2]

Commandes ADB et Fastboot

Les GSI seront également installables via de nouvelles commandes ADB. La nouvelle commande shell ADB gsi_tool permettra aux utilisateurs de désactiver, réactiver, installer et conserver les données utilisateur, d’installer et de créer des données utilisateur, d’installer et d’effacer les données utilisateur ou de vérifier le statut de l’installation.

gsi_tool - outil de ligne de commande pour installer des images GSI.

Usage:
  gsi_tool  [options]

  

  

  

  disable Désactive le GSI actuellement installé.
  enable Activer un GSI précédemment désactivé.
  installer Installer un nouveau GSI. Spécifiez la taille de l'image avec
               --gsi-size et la taille souhaitée de userdata avec
               --userdata-size (le dernier par défaut est 8GiB)
               --wipe (supprime d'abord les anciennes données utilisateur gsi)
  wipe Supprimer complètement un GSI et ses données associées
  status Afficher le statut

Deux nouvelles commandes fastboot seront ajoutées pour gérer GSI, bien que l’installation fastboot ne soit pas prise en charge, car fastboot ne peut pas monter de données utilisateur.

fastboot gsi essuyer
fastboot gsi désactiver

Sources: [1], [2]

Qui va bénéficier?

Je tiens à dire que les développeurs d’applications pourront tirer parti de Dynamic Android et d’Android On Tap, mais je ne suis pas tout à fait certain. Bien que Google ait manifesté de l'intérêt pour cela, rien ne garantit que cette fonctionnalité sera disponible dans toutes les versions d'Android Q provenant de constructeurs tiers. Pour tirer parti de cela sur le périphérique, le logiciel nécessite une application de sélecteur GSI signée par le même certificat que la ROM. De plus, je ne suis pas certain que l’installation de GSI à partir d’ADB sera possible sans la racine ADB en raison des règles SELinux. Si cela n’est pas destiné aux développeurs d’applications à tester leurs applications sur une version propre d’Android, cela ne profitera probablement qu'aux ingénieurs OEM qui cherchent à tester la suite de tests de compatibilité et la suite de tests des fournisseurs sur leurs appareils .

Un merci spécial à luca020400, développeur reconnu par XDA, pour son aide dans cet article.

Vous voulez plus d'articles comme celui-ci dans votre boîte de réception? Entrez votre email pour vous abonner à notre newsletter.

Tags

Leave a Reply

Your e-mail address will not be published. Required fields are marked *

Close
Close