Android News – „Dynamic Android“ könnte Entwickler ein AOSP GSI auf jedem Android Q-Gerät testen lassen.

Dank Project Treble haben die Hersteller von Smartphones Software-Updates von Android Pie bereits schneller ausgeliefert, als sie dies für das Android Oreo-Update tun konnten, zumindest für Flaggschiff-Smartphones. Google will jedoch nicht, dass nur OEMs die Vorteile von Project Treble nutzen. Das Unternehmen hat bereits Interesse daran bekundet, ein Generic System Image (GSI) von Android Q für Entwickler freizugeben, damit sie sich nicht auf Emulatoren verlassen, einen Cloud-Service nutzen oder auf ein Update auf ihrem eigenen Gerät warten müssen, um eine App mit dem neuesten API-Level zu testen. Theoretisch sollte die Veröffentlichung einer GSI jedem Entwickler mit einem Project Treble-kompatiblen Gerät erlauben, die neueste Android-Version zu testen. Alles, was der Entwickler tun muss, ist, ein Systemabbild auf seine bestehende Softwareinstallation zu flashen – ohne ein Custom Recovery-, Boot- oder Anbieterabbild.

Es gibt jedoch einige Probleme mit dem aktuellen GSI-Installationsprozess. Erstens benötigt Ihr einen entsperrten Bootloader, der auf Huawei- oder Honor-Geräten, Nokia-Geräten von HMD Global, oder auch US-Carrier-Geräten nicht möglich ist. Als nächstes wird der Prozess für jeden, der nicht mit dem Flashen von Images per fastboot vertraut ist, schwierig sein. Schließlich müsst Ihr beim Flashen einer GSI aktuell noch den internen Speicher vollständig löschen, was bedeutet, dass Ihr wahrscheinlich ein Ersatzgerät zum Testen benötigt. Im Moment ist das Flashen einer GSI nur etwas, das OEMs verwenden, um die Project Treble-Kompatibilität auf ihren Geräten zu testen, und darüber hinaus ist es nur für eingefleischte Custom-ROM-Enthusiasten interessant. Das neue Google-Projekt „Dynamic Android“ könnte das ändern.

„Dynamic Android“ – Einfaches Testen von AOSP GSIs auf jedem Android Q-Gerät

In den letzten Monaten hat Google an einem Weg gearbeitet, um ein GSI sicher zu booten, ohne den Bootloader entsperren zu müssen. Kurz gesagt, Google entwickelt eine App mit speziellen Berechtigungen, die es erlaubt, ein GSI herunterzuladen, Speicherplatz dafür zu reservieren und die GSI als bootfähig zu kennzeichnen. Es gibt mehrere Komponenten in diesem Projekt, also lasst uns diese einzeln besprechen.

Dynamic Android und Android on Tap

Android Q wird um zwei neue Dienste erweitert: die Dienste „Dynamic Android“ und „Android On Tap“. Während Dynamic Android die Installation eines GSI übernimmt, informiert Android On Tap (AOT) Systemanwendungen mit Abruf- und Übertragungsdiensten. Android On Tap warnt beispielsweise den KeyguardManager, den Benutzer aufzufordern, eine Installationsanfrage zu bestätigen, wenn das Gerät durch eine PIN, ein Passwort oder ein Muster geschützt ist. AOT warnt den Benutzer auch, wenn in ein GSI gebootet wird.

Gemäß der Beschreibung für „DynamicAndroidManager“ bietet der Dienst „einen Mechanismus, um ein neues Android-Image temporär zu verwenden“. Nach der Installation kann das Gerät mit einer neu erstellten /data Partition in das neu installierte Image rebooten. Durch einen Neustart innerhalb des GSI kehrt der Benutzer zum ursprünglichen Systemabbild zurück, aber das neu installierte Image und seine Daten werden lediglich deaktiviert und nicht gelöscht. Wenn der Nutzer dies wünscht, kann das GSI und seine Daten jedoch vollständig entfernt werden.

dynamic-android-q-1024x553

GSID

Der GSI-Daemon weist der Partition /data Platz zu, um das GSI-Image und seine Daten zu speichern und das Image bootfähig zu machen. Die Metadaten des GSI werden in /metadata gespeichert, während das GSI selbst und seine Daten in /data/gsi gespeichert werden. Standardmäßig weist GSID 8 GB Benutzerdaten für das neu installierte GSI zu. Im Allgemeinen sucht GSID vor Beginn einer Installation nach mindestens 40% freiem Speicherplatz. Schließlich verhindert der Daemon aus offensichtlichen Gründen, dass der Benutzer eine GSI innerhalb einer GSI installiert.

Sicherheit

Android Verified Boot (AVB) ist für das neu installierte EXT4-Systemabbild (system_gsi mounted to /system) aktiviert. Google hat auch SELinux-Richtlinien für die neuen Dienste implementiert. Schließlich erfordert die Installation eines GSI, dass eine App die neue Berechtigung MANAGE_DYNAMIC_ANDROID hat. Dies ist eine Berechtigung auf Signaturebene, d.h. die App muss vom OEM signiert werden.

ADB- und fastboot-Befehle

GSIs werden auch über neue ADB-Befehle installierbar sein. Der neue ADB-Befehl gsi_tool ermöglicht es Benutzern, Benutzerdaten zu deaktivieren, wieder zu aktivieren, zu installieren und zu erhalten, Benutzerdaten zu installieren und zu erstellen, Benutzerdaten zu installieren und zu löschen oder den Status der Installation zu überprüfen.

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.
  install      Install a new GSI. Specify the image size with
               --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       Show status

Zwei neue fastboot-Befehle wurden hinzugefügt, um das GSI zu verwalten, obwohl die fastboot-Installation nicht unterstützt wird, da fastboot keine /userdata mounten kann.

fastboot gsi wipe
fastboot gsi disable

Wer wird davon profitieren?

Ich würde sagen, dass insbesondere App-Entwickler in der Lage sein werden, die Vorteile von Dynamic Android und Android On Tap zu nutzen, aber ich bin mir nicht ganz sicher. Obwohl Google Interesse daran bekundet hat, gibt es keine Garantie dafür, dass diese Funktion in jeder Android Q-Version von Nicht-Google-OEMs verfügbar sein wird. Um sie auf dem betreffenden Gerät nutzen zu können, benötigt die Software eine GSI Picker-App, die mit dem gleichen Zertifikat wie das ROM signiert ist. Ich bin mir auch nicht sicher, ob die Installation von GSIs von ADB ohne ADB-Root aufgrund von SELinux-Richtlinien möglich sein wird. Wenn dies nicht für App-Entwickler gedacht ist, um ihre Apps auf einem sauberen Build von Android zu testen, dann wird es wahrscheinlich nur Ingenieuren von OEMs zugute kommen, die die Compatibility Test Suite (CTS) und Vendor Test Suite (VTS) auf ihren Geräten testen wollen.

 

Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at WordPress.com

Nach oben ↑

Sascha Vilz

Langenfeld, Kreis Mettmann, NRW, Deutschland, Europa, und die Welt

Caschys Blog

Smart Home, Software, Hardware, Mobile Computing & Co

nadjasgeeky.wordpress.com/

Welcome to all the geekful things.

USCarlos

Coffee, Tech, Family, and Fun

Was (keine) Freude Macht

Weniger ist mehr

Apple4youngsters

All about Technic

Apple Support Service

News, Support, Tipps und Tricks

Smartphone Guru

Welcome to my Blog about Android, Tech and the Digitized World!

%d Bloggern gefällt das: