So installieren Sie Android Q Beta GSI auf Ihrem Gerät, damit Sie Ihre Apps testen können

Google hat GSIs der zweiten Android Q-Beta veröffentlicht. Diese Systemabbilder können zum Testen von Apps auf mit Project Treble kompatiblen Geräten installiert werden. Hier ist wie.

Je näher wir der endgültigen Version von Android Q kommen, desto kürzer wird die Zeit für Entwickler, ihre Anwendungen zu aktualisieren. Obwohl Android 9 Pie (API-Level 28) die überwiegende Mehrheit der Geräte noch nicht erreicht hat, erfüllen die API-Level-Anforderungen von Google Play das, was Sie tun sollten sei mir schon sehr wohl bewusstwird Sie dazu zwingen, im Jahr 2020 API-Level 29 anzustreben. Wenn Sie Ihre App noch nicht auf Android 9 Pie aktualisiert haben, Dann Sie haben bis August Zeit, wenn Sie eine neue App auf den Markt bringen möchten, oder bis November, wenn Sie eine bestehende App aktualisieren möchten. Für diejenigen unter Ihnen, die mit der Entwicklung der nächsten Android-Version beginnen möchten, können Sie Ihre App bereits auf dem testen Android Studio-Emulator oder auf physischer Hardware, falls Sie diese besitzen

jedes Google Pixel-Smartphone. In diesem Jahr bietet Google Entwicklern jedoch eine weitere Möglichkeit, ihre Apps mit der neuesten Android-Version zu testen: das Flashen einer Android Q Beta GSI auf ein mit Project Treble kompatibles Gerät.

Projekt Treble ist eine wichtige Initiative zur Verbesserung der Geschwindigkeit, mit der Hersteller von Smartphone-Geräten Software- und Sicherheitsupdates veröffentlichen können. Kurz gesagt verlangt Treble, dass Gerätehersteller die Software, die die Hardware zum Laufen bringt, von der Software hinter dem Betriebssystem trennen. Dadurch können Gerätehersteller neue Android-Versionen auf ihren vorhandenen Geräten starten, sodass sie mit der mühsamen Aufgabe beginnen können, ihre vorhandene Codebasis auf die neue Android-Quellcode-Version zu portieren. Komplementär zu CTS ist VTS (Vendor Test Suite), eine Reihe von Tests, mit denen Gerätehersteller überprüfen, ob ihr Gerät den Anforderungen von Project Treble entspricht. Eine der wichtigsten Prüfungen, die Gerätehersteller testen müssen, ist die Fähigkeit eines Treble-kompatiblen Smartphones, ein sogenanntes GSI (Generic System Image) zu starten. Ein GSI ist ein unveränderter Build von AOSP, der für Gerätehersteller gedacht ist, um zu sehen, ob sie Treble ordnungsgemäß implementiert haben. Über OEMs hinaus jedoch Google glaubt dass GSIs von Entwicklern zum Testen der Android-App-Kompatibilität verwendet werden können.

Wenn Sie beispielsweise kein Google Pixel besitzen, ist dies für Sie die einzige Möglichkeit, das Verhalten Ihrer App unter den Bedingungen zu testen, die denen von Google am besten entsprechen In der Dokumentation können Sie entweder ein eigenes Pixel-Gerät erwerben, den Android Studio-Emulator starten oder sich einen Cloud-Test ansehen Service. Jedes davon hat seine Vor- und Nachteile, aber wenn Sie bereits über ein Treble-kompatibles Gerät verfügen und kein Geld ausgeben oder sich mit den Einschränkungen eines Emulators auseinandersetzen möchten, warum nicht einen GSI darauf installieren? Wenn Ihre App auf einem GSI funktioniert, sollte sie auf fast allen Geräten funktionieren, auf denen diese Android-Version ausgeführt wird.

Das ist der Denkprozess hinter der Entscheidung von Google, Android Q GSIs zu veröffentlichen, oder zumindest denken wir das so. Der Quellcode für Android Q wird erst im August verfügbar sein, daher sind die offiziellen GSI-Binärdateien von Google derzeit die einzige Möglichkeit, Android Q auf echter Nicht-Pixel-Hardware zu testen. So können Sie loslegen.

Anforderungen

Bevor Sie überhaupt über die Installation der Android Q-Beta nachdenken, sollten Sie prüfen, ob Ihr Gerät Project Treble-kompatibel ist und blinkende Systemabbilder vom Bootloader akzeptieren kann.

Anforderungen:

  • Ihr Gerät MUSS einen haben freischaltbarer Bootloader. In den USA verkaufte Snapdragon-Samsung-Smartphones, Geräte der Marke Huawei, Geräte der Marke Honor und Geräte der Marke Nokia von HMD Global (außer Nokia 8) kommen hier nicht in Frage.
  • Auf Ihrem PC sind die neuesten ADB- und Fastboot-Binärdateien installiert, die Sie finden können Hier. Veraltete Versionen von Fastboot können zu fehlerhaften Flashvorgängen führen.
  • Ihr Gerät MUSS treffen eins der folgenden Kriterien, um als Project Treble-kompatibel zu gelten:
    • Das Gerät wurde mit Android 9 Pie gestartet. Wenn dies der Fall ist, können Sie die Bestätigung der Treble-Kompatibilität überspringen, nachdem Sie das Ende dieses Abschnitts erreicht haben.
    • Das Gerät startete mit Android 8.0 Oreo oder Android 8.1 Oreo, wurde jedoch auf Android 9 Pie mit VNDK-Isolation und System-as-Root aktualisiert. Wie Sie das herausfinden, erfahren Sie im folgenden Abschnitt.

Bevor wir fortfahren, ist es erwähnenswert, dass das Flashen eines GSI eine vollständige Löschung der Benutzerdatenpartition erfordert. Das bedeutet, dass Sie alle Fotos, Videos, Musik, Dokumente oder alles andere im internen und externen (/data/media) Speicher des Geräts verlieren. Daher wird dringend empfohlen, ein Backup außerhalb des Geräts zu erstellen, bevor Sie fortfahren.

Bedenken Sie als Nächstes, dass diese GSIs CTS nicht bestanden haben. Wenn Ihre App also die SafetyNet Attestation API verwendet, um die Geräteintegrität mit einer CTS-Profilübereinstimmung zu überprüfen, funktioniert das nicht. Außerdem sind diese Builds nicht für den täglichen Gebrauch gedacht. Seien Sie also nicht überrascht, wenn zusätzlich zu den bereits dokumentierten Fehlern in Android Q eine oder mehrere grundlegende Hardwarefunktionen nicht funktionieren. Google hat bereits einige bekannte Probleme mit dem GSI aufgelistet, die Sie finden können Hier. Alle neuen Fehler, die Sie finden, sollten gemeldet werden Hier.

Bestätigung der Höhenkompatibilität

Führen Sie den folgenden Befehl aus:

adbshellgetpropro.treble.enabled

Wenn die Antwort ist FALSCH, dann ist Ihr Gerät nicht mit Project Treble kompatibel und Sie sollten nicht fortfahren. Wenn die Antwort ist WAHR, dann können Sie weitermachen.

Überprüfen Sie als Nächstes die versionübergreifende Unterstützung, indem Sie die folgenden Befehle ausführen:

adb shell
cat /system/etc/ld.config.28.txt | grep -A 20"\[vendor\]"

Suchen Sie in der Ausgabe nach dem Abschnitt [Verkäufer], und suchen Sie dann in diesem Abschnitt nach namespace.default.isolated. Wenn der Wert für dieses Attribut ist WAHR, dann sollte Ihr Gerät das Booten von Android Q GSI auf einem Android 9 Pie-Anbieter-Image unterstützen. Wenn der Wert ist FALSCH, dann kann Ihr Gerät das GSI nur für dieselbe geräteinterne Version des Betriebssystems verwenden.

Beispielausgabe von einem OnePlus 6T.

Zuletzt müssen Sie bestätigen, ob Ihr Gerät ein System-als-Root-Gerät ist, bei dem die Ramdisk mit dem Systemabbild zusammengeführt wird. System-as-Root ist für Geräte, die auf Android 9 Pie aktualisieren, nicht zwingend erforderlich, aber zur Unterstützung eines reinen System-OTA erforderlich, beispielsweise beim Flashen einer neuen Betriebssystemversion über GSI. Führen Sie die folgenden Befehle aus und überprüfen Sie, ob die Ausgabe mit „system-as-root“ übereinstimmt:

adb shell
cat /proc/mounts | grep -q /dev/root && echo"system-as-root" || echo"non-system-as-root"

Da Sie nun wissen, dass Ihr Gerät Treble-kompatibel ist, müssen Sie herausfinden, welche Version der GSI-Binärdatei Sie herunterladen müssen, da es unterschiedliche Images für unterschiedliche Architekturen gibt. Um zu sehen, welche Architektur Ihr Gerät hat, führen Sie den folgenden Befehl aus:

adbshellgetpropro.product.cpu.abi

Notieren Sie sich die Ausgabe hier, da Sie sie beim Herunterladen des GSI benötigen.

Herunterladen des GSI

Download-Links für offizielle Builds des Android Q Beta GSI sind bei Google verfügbar Hier. Sie sollten die entsprechende Version basierend auf der Architektur Ihres Geräts herunterladen, die Sie im vorherigen Schritt herausgefunden haben. Der Download wird ziemlich groß sein, wenn Sie den Build mit GMS oder Google Mobile Services herunterladen. Dies empfehlen wir dringend, damit Sie Ihre App auf einem Build mit Google Play Services testen können.

Sobald der Download der Datei abgeschlossen ist, können Sie sie entpacken. Darin sind zwei Dateien enthalten: system.img, Und vbmeta.img.

Flashen des GSI

  1. Starten Sie den Bootloader Ihres Geräts neu, indem Sie entweder eine Tastenkombination verwenden oder den folgenden Befehl eingeben:
    adb reboot bootloader
  2. Als nächstes müssen wir Android Verified Boot (AVB) deaktivieren. Sie können dies tun, indem Sie den folgenden Befehl eingeben:
    fastbootflashvbmetavbmeta.img
  3. Als nächstes löschen wir die Systempartition:
    fastboot erase system
  4. Wir können das Android Q GSI endlich flashen mit:
    fastbootflashsystemsystem.img
  5. Sobald dies erledigt ist, löschen Sie die Benutzerdatenpartition mit:
    fastboot -w
  6. Starten Sie Ihr Gerät neu, indem Sie entweder den Netzschalter drücken oder Folgendes eingeben:
    fastboot reboot

Hoffentlich sollte es nach ein paar Minuten booten. Diese Schritte wurden auf einem Pixel 3 XL validiert, sollten aber universell funktionieren. Wir können bestätigen, dass Android Q Beta 2 GSI nicht auf dem OnePlus 6T startet, wohl aber auf dem Xiaomi Mi 9. Es funktioniert möglicherweise auf dem Sony Xperia XZ3, aber uns wurde gesagt, dass es auf dem Moto G7 nicht startet. Ihr Kilometerstand kann variieren, da die Anforderungen von Google nur die GSI-Kompatibilität derselben Betriebssystemversion bestätigen.