Eine Revolution bei benutzerdefinierten ROMs: Wie Project Treble die Portierung von Android Oreo zu einem eintägigen Job macht

click fraud protection

Eine Untersuchung, wie Project Treble benutzerdefinierte ROMs revolutioniert. Die Portierung von Android Oreo auf das Huawei Mate 9 dauerte weniger als einen Tag.

Die XDA-Foren sind seit Jahren der zentrale Treffpunkt für die Entwicklung benutzerdefinierter ROMs. Der harten Arbeit der Entwickler in unseren Foren ist es zu verdanken, dass viele ältere Android-Smartphones durch benutzerdefinierte ROMs am Leben erhalten bleiben, manchmal Jahre nachdem die Geräte vom Gerätehersteller aufgegeben wurden. Obwohl die meisten Hersteller heutzutage Methoden zum Entsperren des Bootloaders veröffentlichen, haben häufige Verzögerungen bei der Veröffentlichung des Kernel-Quellcodes die Entwicklung benutzerdefinierter ROMs auf vielen Smartphones erstickt. Das könnte sich jedoch bald ändern, dank etwas namens „Projekt Treble", das kurz vor der Veröffentlichung von Android Oreo angekündigt wurde. Dank Project Treble sollte die Portierung eines AOSP-ROMs auf ein Gerät nicht länger Wochen oder Monate dauern – sondern es sollte nur Tage dauern.

Diejenigen unter Ihnen, die die Custom-ROM-Szene seit Jahren verfolgen, wissen vielleicht bereits, wie wichtig diese Neuigkeit ist. XDA-anerkannter Entwickler OldDroid nannte diese Offenbarung eine „Durchbruch" in der benutzerdefinierten AOSP-ROM-Entwicklung. Dank der Unterstützung von Project Treble zum Beispiel Ich konnte booten A nahezu voll funktionsfähiges Android 8.0 Oreo ROM auf dem Huawei Mate 9– ein Gerät, das bisher noch nicht einmal einen einzigen AOSP gesehen hatte Android-Nougat ROM.

Dank der ersten Entwicklungsbemühungen von XDA Senior Member in diesem Bereich erleben wir möglicherweise bald eine Revolution in der benutzerdefinierten ROM-Entwicklung Phhusson. Nach 20 Stunden Arbeit beim Recherchieren, Entwickeln und Debuggen mit mir hat Phhusson ein Systemabbild erstellt, das dies kann auf mehreren Geräten verschiedener Hersteller und mit völlig unterschiedlichen SoCs gebootet. Beispielsweise startet das gleiche Systemabbild, das ich auf meinem eigenen Huawei Mate 9 gestartet habe, auch auf dem Honor 8 Pro, Honor 9, dem Sony Xperia XZ1 Compact und dem Essential Phone. Das ist 3 verschiedene OEMs (Huawei/Honor, Sony und Essential) und 2 verschiedene SoCs (HiSilicon Kirin 960 und Qualcomm Snapdragon 835), wo dieses einzelne System-Image erfolgreich gestartet werden kann.

Es ist möglich, dass wir in Zukunft ein einziges System-Image sehen, das auf Dutzenden von Systemen funktionieren kann verschiedenen Android-Smartphones, ähnlich wie Microsoft Windows auf fast jedem Computer ausgeführt werden kann Hardware. Um die weitere Entwicklung an dieser Front zu fördern, haben wir eine eröffnet neues Forum für Project Treble aktivierte Geräte. Das Forum richtet sich derzeit an Entwickler. Bitte starten Sie daher keinen neuen Thread, es sei denn, Sie sind daran interessiert, zur Entwicklung beizutragen. Wenn Sie beim Testen von Treble-kompatiblen Systemabbildern helfen möchten, hinterlassen Sie gerne Kommentare zu bestehenden Threads.

Treten Sie dem Project Treble Development Forum bei

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 Liste mit Stichpunkten durchgehen, in der einige häufig gestellte Fragen erläutert und wichtige Fakten zu dieser neuesten Entwicklung hervorgehoben 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 etwas genauer aufschlüsseln:

  • Der vollständige Update-Prozess, um eine neue Android-Version auf Geräte zu bringen, ist ein langes und komplexes Thema, aber Sony hat dabei großartige Arbeit geleistet diese Infografik Darin werden die grundlegenden Schritte beschrieben.
  • Der „Anbieter“ bezieht sich normalerweise auf Siliziumhersteller wie Qualcomm, kann sich aber auch auf den Hersteller anderer proprietärer Hardware beziehen, die in einem Gerät enthalten ist. Der „Gerätehersteller“ oder „OEM“ muss normalerweise warten, bis der Anbieter seinen Code aktualisiert, damit die proprietäre Hardware mit dem Android-Betriebssystem-Framework in einer neueren Version von Android funktioniert.
  • Was jedoch mit Project Treble passiert, ist, dass Google dies verlangt Herstellerspezifischer Code muss vom Android-Betriebssystem-Framework getrennt werden und stattdessen in einer eigenen Anbieterimplementierung leben. 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, der es dem Android-Betriebssystem-Framework ermöglicht, auf standardisierte Weise mit HALs zu kommunizieren. Dies geschieht über HIDL (HAL Interface Definition Language). Damit kann ein OEM an einem Android-Update arbeiten, ohne darauf warten zu müssen, dass Anbieter ihre HALs aktualisieren. Theoretisch ist das so sollte den gesamten Android-Update-Prozess beschleunigen da Anbieter ihren Code jederzeit aktualisieren können über den Play Store, Zum Beispiel.
  • Um besser zu verstehen, was ein HAL ist und wie es mit Android zusammenhängt, betrachten wir eine Analogie. Stellen Sie sich ein Auto vor. Das Lenkrad und die Bremsen sind HAL, während der Treiber das Android-Betriebssystem-Framework ist. Der Fahrer (Android) bewegt das Lenkrad und betätigt die Bremsen (HAL), um die Bewegung des Autos (die Hardware) zu steuern.
  • Stellen Sie sich nun vor, wir würden in einer Welt leben, in der jeder Autohersteller beschließen würde, seine Lenkräder völlig anders zu gestalten oder seine Bremsen neu anzuordnen. Wenn Sie einen Fahrer in ein neues Auto setzen, kann es sein, dass er nicht weiß, wie er zunächst mit dem Fahrzeug umgeht. Aber dank der Normen sollte jeder Autofahrer bei fast jedem Auto mit der Bedienung von Lenkrad und Bremsen vertraut sein. Darüber hinaus vermittelt die Fahrschule allen Fahrern den richtigen Umgang mit einem Fahrzeug. In dieser Analogie sind die Fahrzeugstandards Project Treble und die Fahrschule HIDL.

Android Oreo auf dem Honor 8 Pro. Credits: XDA Recognised Developer OldDroid

Welche Geräte erhalten Project Treble-Unterstützung?

  • Alle Geräte, die Start mit Android 8.0 Oreo oder höher muss voll unterstützt werden Projekt Treble.
  • Alle Geräte, die Upgrade auf Android 8.0 Oreo Sind nicht benötigt um Project Treble voll und ganz zu unterstützen.
  • Zu den Geräten, die über Updates (offizielle Veröffentlichungen oder geschlossene Betas) auf Android 8.0 Oreo verfügen und Treble unterstützen, gehören:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Ehre 8 Pro
    • Ehre 9
    • Unverzichtbares Telefon
  • Es ist unwahrscheinlich, dass Geräte über eine benutzerdefinierte ROM-Entwicklung inoffiziell Project Treble-Unterstützung erhalten. HALs sind schließlich kein Open Source.

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

  • Um sicherzustellen, dass der Herstellercode auf die Art und Weise, wie das Projekt erfolgt, ordnungsgemäß vom Android-Betriebssystem-Framework getrennt ist Laut Treble hat Google eine Vendor Test Suite (VTS) eingerichtet, die Geräte bestehen müssen, um zertifiziert zu werden Google. Die Google-Zertifizierung ist wichtig, da ein Gerät ohne sie nicht mit vorinstallierten Google Play-Apps und -Diensten ausgeliefert werden darf.
  • Eine der Anforderungen im VTS ist, dass es sich um ein Treble-fähiges Gerät handelt muss bootfähig sein A roher, generischer AOSP-Build. Aufgrund dieser Anforderung müssen OEMs Geräte ausliefern, die AOSP problemlos starten können.
  • Obwohl das genaue ROM, das Google verwendet und mit OEMs für VTS teilt, nicht öffentlich ist, konnte XDA Senior Member Phhusson es herausfinden So erstellen Sie dieses ROM aus dem Quellcode neu.
  • Somit haben wir jetzt ein funktionierendes AOSP-ROM garantiert, dass es auf Project Treble-Geräten bootfähig ist. Der Großteil der Arbeit wurde bereits von OEMs und Anbietern geleistet, sodass unabhängige Entwickler in unseren Foren dies nicht mehr tun müssen Herumspielen mit Kernel-Quellcode oder HAL-Hackery. Theoretisch sollte ein AOSP-ROM „einfach funktionieren“, was wir auf den von uns getesteten Geräten grundsätzlich bestätigt haben.
  • Im Moment ist die Kompatibilität nicht 100% Bei allen Geräten kann das Systemabbild gebootet werden. Es gibt auch welche Rennbedingungen Das muss herausgefunden werden. Allerdings Projekt Treble reduziert den Entwicklungsaufwand deutlich Dies ist erforderlich, um AOSP-ROMs auf Nicht-Google-Geräte zu portieren. Mit der Zusammenarbeit weiterer Entwickler in unserem Project Treble-ForumWir gehen davon aus, dass die Entwicklung der Treble-Geräte große Fortschritte machen wird.

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

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

  • Sie benötigen eine entsperrter Bootloader und müssen mit der Verwendung vertraut sein Fastboot-Befehle um Bilder zu flashen.
  • Ihr Gerät muss Ich verwende bereits Android Oreo. Diese Systemabbilder „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 die verwenden FunkyHuawei.club-Dienst um Ihr Telefon inoffiziell auf einen der geschlossenen Beta-Builds von Oreo zu aktualisieren.
  • Sie müssen dazu bereit sein Daten verlieren oder Factory-Images neu flashen beim Testen. Der beste Weg, um sicherzustellen, dass dieser Startvorgang erfolgt, besteht darin, die Benutzerdatenpartition zu löschen. Dazu gehört auch das Löschen des gesamten Inhalts Ihres internen Speichers. Natürlich können Sie Backups erstellen und diese anschließend übertragen.
  • Diese AOSP-Builds sind momentanNicht für den Einsatz als Alltagsfahrzeug gedacht. Sie sind äußerst schlicht und bieten nicht viele Funktionen oder vorinstallierte Apps. Sie müssen die Google-Apps selbst flashen. Sie müssen die APN-Einstellungen Ihres Mobilfunkanbieters manuell eingeben, damit mobile Daten funktionieren (sofern sie funktionieren). Die Dinge werden fehlerhaft sein, bis weitere Entwicklungsanstrengungen unternommen werden.

Abschluss

Google machte keine Witze, als sie sagten, dass Project Treble vielleicht eine der größten Änderungen überhaupt an der Funktionsweise von Android sei. Wir können hier und jetzt selbst sehen, welche Auswirkungen es haben kann. Treble könnte der Anstoß sein, den die Entwicklergemeinschaft braucht, um die Custom-ROM-Szene wiederzubeleben. Es dauerte weniger als einen Tag, ein nahezu voll funktionsfähiges AOSP-ROM auf dem Huawei Mate 9 zu starten. Ich bin gespannt auf die Arbeit, die für andere Treble-fähige Geräte geleistet wird.