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

click fraud protection

Un nouveau projet appelé Dynamic Android permettra aux développeurs de tester les GSI AOSP Android Q sur n'importe quel appareil exécutant Android Q ou une version ultérieure.

Grâce à Projet triple, les fabricants de smartphones ont fourni les mises à jour du logiciel Android Pie plus rapidement qu'ils n'ont pu le faire pour la mise à jour Android Oreo, du moins pour les smartphones phares. Google ne souhaite cependant pas que seuls les constructeurs OEM profitent des avantages du Project Treble. L'entreprise a déjà a exprimé son intérêt en publiant une image système générique (GSI) d'Android Q pour les développeurs afin qu'ils n'aient pas à s'appuyer sur des émulateurs, utilisez un service cloud, ou attendez une mise à jour sur leur propre appareil pour tester une application par rapport au dernier niveau d'API. En théorie, la publication d'un GSI devrait permettre à tout développeur disposant d'un appareil compatible Project Treble (à l'origine Android 8.0 Oreo et supérieur, mais désormais pris en compte uniquement les appareils lancés avec Android 9 Pie) pour tester le dernier Android version. Tout ce que le développeur a à faire est de flasher une image système en plus de son installation logicielle existante, sans avoir besoin d'une image de récupération, de démarrage ou de fournisseur personnalisée.

Cependant, le processus d'installation actuel de GSI présente plusieurs problèmes. Tout d'abord, vous avez besoin d'un chargeur de démarrage déverrouillé, qui n'est pas possible sur les appareils Huawei ou Honor (sans payer des frais), les appareils Nokia de HMD Global (à l'exclusion du Nokia 8), ou les appareils de marque d'un opérateur américain. Ensuite, le processus sera difficile pour quiconque n'est pas familier avec les images clignotantes via fastboot. Enfin, pour flasher un GSI maintenant, vous devrez effacer complètement le stockage interne, ce qui signifie que vous aurez probablement besoin d'un appareil de rechange sur lequel tester. À l'heure actuelle, flasher un GSI n'est que quelque chose que les constructeurs OEM utilisent pour tester la compatibilité du Project Treble sur leurs appareils, et au-delà de cela, cela n'attire que les purs et durs. Amateurs de ROM personnalisées. Le nouveau projet « Dynamic Android » de Google pourrait chercher à changer cela.

Android dynamique: testez facilement les GSI AOSP sur n'importe quel appareil Android Q

Au cours des derniers mois, Google a travaillé sur un moyen de démarrer en toute sécurité un GSI sans avoir à déverrouiller le chargeur de démarrage. En bref, Google développe une application dotée d'autorisations spéciales qui lui permettent de télécharger un GSI, de lui réserver de l'espace de stockage et de marquer le GSI comme amorçable. Ce projet comporte plusieurs composants, discutons-en donc un par un.

Android dynamique et Android On Tap

Deux nouveaux services sont ajoutés à Android Q: les services Dynamic Android et Android On Tap. Tandis que Dynamic Android gère l'installation d'un GSI, Android On Tap informe les applications système avec des rappels et des intentions de diffusion. Par exemple, Android On Tap alerte KeyguardManager pour demander à l'utilisateur de confirmer une demande d'installation si l'appareil est protégé par un code PIN, un mot de passe ou un modèle. AOT alerte également l'utilisateur lorsqu'il démarre sur un GSI.

Selon la description de « DynamicAndroidManager », le service « propose un mécanisme permettant d'utiliser un nouveau système Android ». image temporairement." Après l'installation, l'appareil peut redémarrer dans l'image nouvellement installée avec une image nouvellement créée. /data. Le redémarrage dans le 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 entièrement supprimés.

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

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

Sécurité

Android Verified Boot (AVB) est activé pour l'image système EXT4 nouvellement installée (system_gsi monté sur /system). Google a également mis en œuvre des politiques SELinux pour les nouveaux services. Enfin, l'installation d'un GSI nécessite qu'une application dispose 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 l'OEM.

Sources: [1], [2]

Commandes ADB et Fastboot

Les GSI pourront également être installés via de nouvelles commandes ADB. La nouvelle commande shell ADB gsi_tool permettra aux utilisateurs de désactiver, réactiver, installer et conserver userdata, installer et créer des données utilisateur, installer et effacer les données utilisateur, ou vérifier l'état du installation.

gsi_tool - command-line tool for installing GSI images.

Usage:
gsi_tool <disable|install|wipe|status> [options]

disable Disable the currently installed GSI.
enable Enable a previously disabled GSI.
installInstall a new GSI. Specify the image sizewith
--gsi-size and the desired userdata size with
--userdata-size (the latter defaults to 8GiB)
--wipe (remove old gsi userdata first)
wipe Completely remove a GSI and its associated data
status Showstatus

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

fastboot gsi wipe
fastboot gsi disable

Sources: [1], [2]

À qui cela profitera-t-il?

Je tiens à dire que les développeurs d'applications pourront profiter de Dynamic Android et d'Android On Tap, mais je n'en suis pas entièrement certain. Bien que Google ait exprimé son intérêt pour cela, rien ne garantit que cette fonctionnalité sera disponible dans chaque version d'Android Q à partir de OEM non Google. Pour en profiter sur l'appareil, le logiciel a besoin d'une application de sélection GSI signée par le même certificat que le ROM. Je ne suis pas non plus certain que l'installation de GSI depuis ADB sera possible sans racine ADB en raison des politiques SELinux.Mise à jour: Un nouveau commettre confirme que la racine ADB devra utiliser GSI_tool. Si cela n'est pas destiné aux développeurs d'applications pour tester leurs applications sur une nouvelle version d'Android, cela ne fera probablement que bénéficier aux ingénieurs des constructeurs OEM qui cherchent à tester la suite de tests de compatibilité (CTS) et la suite de tests des fournisseurs (VTS) sur leur dispositifs.

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