Eine Revolution in benutzerdefinierten ROMs: Wie Project Treble das Portieren von Android Oreo zu einem 1-Tages-Job macht

Die Foren sind seit Jahren die zentrale Anlaufstelle für die Entwicklung von benutzerdefinierten ROMs. Es ist der harten Arbeit der Entwickler in unseren Foren zu verdanken, dass viele ältere Android-Smartphones manchmal Jahre nach dem Abbruch der Geräte durch den Gerätehersteller durch benutzerdefinierte ROMs am Leben erhalten werden. Obwohl die meisten Hersteller heutzutage Methoden zum Entsperren von Bootloadern veröffentlichen, haben häufige Verzögerungen bei Kernel-Source-Releases die Entwicklung benutzerdefinierter ROMs auf vielen Smartphones behindert. Dies könnte sich jedoch bald ändern, da mit der Veröffentlichung von Android Oreo ein sogenanntes "Project Treble" angekündigt wurde. Dank Project Treble sollte die Zeit, die zum Portieren eines AOSP-ROMs auf ein Gerät benötigt wird, nicht länger Wochen oder Monate dauern, sondern lediglich Tage .

Für diejenigen von Ihnen, die die Custom-ROM-Szene jahrelang verfolgt haben, ist es möglicherweise bereits bekannt, wie wichtig diese Neuigkeiten sind. Der anerkannte Entwickler OldDroid nannte diese Enthüllung einen „ Durchbruch “ in der Entwicklung von benutzerdefinierten AOSP-ROMs. Dank der Project Treble-Unterstützung konnte ich beispielsweise ein nahezu voll funktionsfähiges Android 8.0 Oreo-ROM auf dem Huawei Mate 9 booten - ein Gerät, auf dem bisher noch kein einziges AOSP- Android-Nougat- ROM vorhanden war.

Möglicherweise erleben wir bald eine Revolution in der Entwicklung von benutzerdefinierten ROMs, dank der anfänglichen Entwicklungsanstrengungen von Senior Member Phhusson. Nach 20 Stunden Recherche, Entwicklung und Debugging mit mir hat phhusson ein System-Image erstellt, das auf mehreren Geräten verschiedener Hersteller und mit völlig unterschiedlichen SoCs gebootet werden kann. Das gleiche Systemimage, das ich auf meinem eigenen Huawei Mate 9 gestartet habe, wird beispielsweise auch auf Honor 8 Pro, Honor 9, dem Sony Xperia XZ1 Compact und dem Essential Phone gestartet. Das sind 3 verschiedene OEMs (Huawei / Honor, Sony und Essential) und 2 verschiedene SoCs (HiSilicon Kirin 960 und Qualcomm Snapdragon 835), mit denen dieses einzelne System-Image erfolgreich gestartet werden kann.

Es ist möglich, dass wir in Zukunft ein einziges System-Image sehen, das auf Dutzenden verschiedener Android-Smartphones funktioniert, ähnlich wie Microsoft Windows auf nahezu jeder Computerhardware. Um weitere Entwicklungen in diesem Bereich zu fördern, haben wir ein neues Forum für Project Treble- fähige Geräte eröffnet. Das Forum richtet sich derzeit an Entwickler. Starten Sie daher keinen neuen Thread, es sei denn, Sie möchten einen Beitrag zur Entwicklung leisten. Wenn Sie beim Testen von Treble-kompatiblen Systemimages helfen möchten, können Sie Kommentare zu vorhandenen Threads hinterlassen.

Nehmen Sie am Project Treble Development Forum teil

Angesichts der Bedeutung dieser Entwicklung und der Komplexität des Themas dachte ich, ich würde diesen Artikel etwas anders angehen als die anderen. Ich werde eine Aufzählungsliste durchgehen, in der einige häufig gestellte Fragen erläutert und wichtige Fakten zu dieser neuesten Entwicklung aufgezeigt werden.


Was ist Project Treble?

Credits: Google

Project Treble wird am häufigsten als ein Versuch von Google beschrieben, das Android-Betriebssystem-Framework zu modularisieren, um herstellerspezifischen Code zu trennen. Lassen Sie uns die Dinge ein bisschen mehr aufteilen:

  • Der vollständige Aktualisierungsprozess, um eine neue Android-Version auf Geräte zu bringen, ist ein langwieriges und komplexes Thema, aber Sony hat mit dieser Infografik, in der die grundlegenden Schritte beschrieben werden, hervorragende Arbeit geleistet.
  • Der „Verkäufer“ bezieht sich normalerweise auf Siliziumhersteller wie Qualcomm, kann sich aber auch auf den Hersteller anderer proprietärer Hardware beziehen, die in einem Gerät vorhanden ist. Der „Gerätehersteller“ oder „OEM“ muss normalerweise warten, bis der Hersteller seinen Code aktualisiert hat, damit die proprietäre Hardware mit dem Android-Betriebssystem einer neueren Version von Android zusammenarbeitet.
  • Was jedoch mit Project Treble passiert, ist, dass Google verlangt, dass herstellerspezifischer Code vom Android OS-Framework getrennt wird und stattdessen in einer eigenen Herstellerimplementierung ausgeführt wird. Normalerweise bedeutet dies, dass es auf Treble-fähigen Smartphones jetzt eine separate / Vendor-Partition gibt, die eine Reihe von HALs (Hardware Abstraction Layers) enthält.
  • Darüber hinaus müssen Anbieter Code implementieren, mit dem das Android OS-Framework auf standardisierte Weise mit HALs kommunizieren kann. Dies erfolgt über HIDL (HAL Interface Definition Language). Mit dieser Funktion kann ein OEM an einem Android-Update arbeiten, ohne dass Hersteller auf die Aktualisierung ihrer HALs warten müssen. Theoretisch sollte dies den gesamten Android-Aktualisierungsprozess beschleunigen, da Anbieter ihren Code beispielsweise jederzeit über den Play Store aktualisieren können.
  • Um zu verstehen, was ein HAL ist und wie es sich auf Android bezieht, betrachten wir eine Analogie. Stellen Sie sich ein Auto vor. Das Lenkrad und die Bremsen sind die HAL, während der Fahrer das Android OS-Framework ist. Der Fahrer (Android) bewegt das Lenkrad und betätigt die Bremsen (HAL), um die Bewegung des Autos (der Hardware) zu steuern.
  • Stellen Sie sich vor, wir leben in einer Welt, in der jeder Autohersteller beschlossen hat, die Lenkräder zu konstruieren oder die Bremsen auf eine völlig andere Weise neu anzuordnen. Wenn Sie einen Fahrer in ein neues Auto setzen, kann es sein, dass er mit dem anfänglichen Umgang mit dem Fahrzeug verwechselt wird. Aber dank der Standards sollte jeder Fahrer mit der Bedienung eines Lenkrads und der Bremsen an fast jedem Auto vertraut sein. Darüber hinaus lehrt die Fahrschule alle Fahrer, wie sie ein Fahrzeug richtig bedienen. In dieser Analogie lauten die Fahrzeugstandards Project Treble und die Fahrschule HIDL.

Android Oreo auf dem Honor 8 Pro. Credits: Anerkannter Entwickler OldDroid

Welche Geräte werden von Project Treble unterstützt?

  • Alle Geräte, die mit Android 8.0 Oreo oder höher gestartet werden, müssen Project Treble vollständig unterstützen .
  • Alle Geräte, die ein Upgrade auf Android 8.0 Oreo durchführen , müssen Project Treble nicht vollständig unterstützen.
  • Die Geräte, die Updates (offizielle Veröffentlichungen oder geschlossene Betaversionen) für Android 8.0 Oreo haben und Treble unterstützen, umfassen Folgendes:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Ehre 8 Pro
    • Ehre 9
    • Wesentliches Telefon
  • Es ist unwahrscheinlich, dass Geräte inoffiziell Project Treble-Unterstützung über die benutzerdefinierte ROM-Entwicklung erhalten. HALs sind doch nicht Open Source.

Warum ist Project Treble für AOSP-ROMs so wichtig?

  • Um sicherzustellen, dass der Herstellercode in der für Project Treble erforderlichen Weise ordnungsgemäß vom Android-Betriebssystemframework getrennt ist, hat Google eine Vendor Test Suite (VTS) eingerichtet, die Geräte bestehen müssen, um von Google zertifiziert zu werden. Die Google-Zertifizierung ist wichtig, da ohne sie ein Gerät nicht mit vorinstallierten Google Play-Apps und -Diensten ausgeliefert werden darf.
  • Eine der Anforderungen im VTS ist, dass ein Treble-fähiges Gerät in der Lage sein muss, einen unformatierten, generischen AOSP-Build zu starten. Aufgrund dieser Anforderung müssen OEMs Geräte ausliefern, die AOSP problemlos starten können.
  • Obwohl das genaue ROM, das Google für VTS verwendet und mit OEMs teilt, nicht öffentlich ist, konnte Senior Member Phhusson herausfinden, wie dieses ROM aus dem Quellcode wiederhergestellt werden kann.
  • Somit haben wir jetzt ein funktionierendes AOSP-ROM, das auf Project Treble-Geräten garantiert bootfähig ist . Der größte Teil der Arbeit wurde bereits von OEMs und Anbietern geleistet, sodass unabhängige Entwickler in unseren Foren nicht mehr mit Kernel-Quellcode oder HAL-Hackery herumspielen müssen. Theoretisch sollte ein AOSP-ROM „nur funktionieren“, was sich für die getesteten Geräte als grundsätzlich zutreffend erwiesen hat.
  • Derzeit ist die Kompatibilität nicht zu 100% mit allen Geräten gewährleistet, auf denen das System-Image gestartet werden kann. Es gibt auch einige Rennbedingungen, die herausgefunden werden müssen. Project Treble reduziert jedoch den Entwicklungsaufwand für das Portieren von AOSP-ROMs auf Geräte, die nicht von Google stammen, erheblich. In Zusammenarbeit mit weiteren Entwicklern in unserem Project Treble-Forum erwarten wir, dass die Entwicklung von Treble-Geräten einen langen Weg zurücklegen wird.

Wie kann ich Android Oreo jetzt auf meinem Gerät testen?

Wenn Sie wirklich abenteuerlustig sind und sofort eines dieser Project Treble-Builds auf Ihrem Telefon ausprobieren möchten, hat phhusson die Systemimages, die Sie herunterladen müssen, in seinem Thread in unserem Project Treble-Forum. Es gibt jedoch ein paar Dinge, die Sie beachten müssen:

  • Sie benötigen einen nicht gesperrten Bootloader und müssen mit der Verwendung von Fastboot-Befehlen zum Flashen von Images vertraut sein.
  • Auf Ihrem Gerät muss bereits Android Oreo ausgeführt werden . Diese System-Images aktualisieren Ihr Gerät nicht. Wenn Sie eines der in diesem Artikel erwähnten Huawei / Honor-Geräte verwenden, können Sie in unseren Foren nach einer Anleitung suchen oder den FunkyHuawei.club-Dienst verwenden, um Ihr Telefon inoffiziell auf eine der geschlossenen Beta-Versionen von Oreo zu aktualisieren.
  • Sie müssen bereit sein, beim Testen Daten zu verlieren oder Factory-Images neu zu flashen . Der beste Weg, um dies sicherzustellen, ist das Löschen der Benutzerdatenpartition, einschließlich des Löschens des gesamten Inhalts auf Ihrem internen Speicher. Natürlich können Sie Backups erstellen und diese übertragen, sobald Sie fertig sind.
  • Diese AOSP-Builds sind derzeit nicht für die Verwendung als tägliche Treiber vorgesehen. Sie sind extrem einfach und bieten nicht viele vorinstallierte Funktionen oder Apps. Sie müssen Google Apps selbst flashen. Sie müssen die APN-Einstellungen Ihres Netzbetreibers manuell eingeben, damit mobile Daten funktionieren (sofern dies funktioniert). Die Dinge werden fehlerhaft sein, bis weitere Entwicklungsanstrengungen unternommen werden.

Fazit

Google machte keine Witze, als sie sagten, dass Project Treble vielleicht eine der größten Änderungen war, die jemals an der Funktionsweise von Android vorgenommen wurden. Wir können hier und jetzt selbst sehen, welche Auswirkungen dies haben kann. Höhen könnten der Schub sein, den die Entwicklergemeinschaft braucht, um die benutzerdefinierte ROM-Szene wiederzubeleben. Es dauerte weniger als einen Tag, um ein nahezu voll funktionsfähiges AOSP-ROM auf dem Huawei Mate 9 zu starten. Ich bin gespannt, welche Arbeiten für andere Treble-fähige Geräte durchgeführt werden.