Een revolutie in aangepaste ROM's: hoe Project Treble het porten van Android Oreo tot een klus van één dag maakt

Een verkenning van hoe Project Treble een revolutie teweegbrengt in aangepaste ROM's. Het duurde minder dan 1 dag om Android Oreo over te zetten naar de Huawei Mate 9.

De XDA-forums zijn al jaren de centrale bijeenkomst voor de ontwikkeling van aangepaste ROM's. Het is dankzij het harde werk van de ontwikkelaars op onze forums dat veel oudere Android-smartphones in leven worden gehouden door aangepaste ROMS, soms jaren nadat apparaten door de fabrikant van het apparaat in de steek zijn gelaten. Hoewel de meeste fabrikanten tegenwoordig ontgrendelingsmethoden voor de bootloader vrijgeven, hebben frequente vertragingen bij het vrijgeven van kernelbroncodes de ontwikkeling van aangepaste ROM's op veel smartphones belemmerd. Dat kan echter snel veranderen dankzij iets dat 'Project Treble" die werd aangekondigd vlak bij de release van Android Oreo. Dankzij Project Treble zou de tijd die nodig is om een ​​AOSP ROM naar een apparaat te porten niet langer weken of maanden in beslag moeten nemen. het zou slechts enkele dagen moeten duren.

Voor degenen onder u die de custom ROM-scene al jaren volgen, weet u misschien al hoe belangrijk dit nieuws is. XDA erkende ontwikkelaar OudeDroid noemde deze openbaring een "doorbraak"in aangepaste AOSP ROM-ontwikkeling. Dankzij Project Treble-ondersteuning bijvoorbeeld Ik kon opstarten A bijna volledig functionerende Android 8.0 Oreo ROM op de Huawei Mate 9– een apparaat dat tot nu toe nog niet eens een enkele AOSP had gezien Android Nougat ROM.

Mogelijk zien we binnenkort een revolutie in de ontwikkeling van aangepaste ROM's dankzij de initiële ontwikkelingsinspanningen op dit front door XDA Senior Member phusson. Na twintig uur onderzoek, ontwikkeling en debuggen met mij, heeft Phhusson een systeemimage gemaakt dat kan worden opgestart op meerdere apparaten van verschillende fabrikanten en met totaal verschillende SoC's. Hetzelfde systeemimage dat ik op mijn eigen Huawei Mate 9 heb opgestart, wordt bijvoorbeeld ook opgestart op de Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact en de Essential Phone. Dat is 3 verschillende OEM's (Huawei/Honor, Sony en Essential) en 2 verschillende SoC's (HiSilicon Kirin 960 en Qualcomm Snapdragon 835) waar dit enkele systeemimage met succes kan opstarten.

Het is mogelijk dat we in de toekomst één enkel systeemimage zullen zien dat op tientallen kan werken verschillende Android-smartphones, net zoals Microsoft Windows op vrijwel elke computer kan draaien hardware. Om meer ontwikkeling op dit front aan te moedigen, hebben we een nieuw forum gewijd aan Project Treble ingeschakelde apparaten. Het forum is op dit moment gericht op ontwikkelaars, dus start alstublieft geen nieuwe thread, tenzij u geïnteresseerd bent om bij te dragen aan de ontwikkeling. Als je wilt helpen met het testen van Treble-compatibele systeemimages, laat dan gerust commentaar achter op bestaande discussies.

Sluit u aan bij het Project Treble Ontwikkelingsforum

Gezien het belang van deze ontwikkeling en de complexiteit van het onderwerp, dacht ik dat ik dit artikel een beetje anders zou benaderen dan de andere. Ik zal een lijst met opsommingstekens opstellen waarin enkele veelgestelde vragen worden uitgelegd die mensen mogelijk hebben, en waarin de belangrijkste feiten met betrekking tot deze nieuwste ontwikkeling worden aangegeven.


Wat is Project Treble?

Credits: Googlen

Project Treble wordt meestal beschreven als een poging van Google om het Android OS-framework te modulariseren om leveranciersspecifieke code te scheiden. Laten we de zaken wat verder uitsplitsen:

  • Het volledige updateproces om een ​​nieuwe Android-versie naar apparaten te brengen is een lang en complex onderwerp, maar Sony heeft er uitstekend werk mee geleverd deze infographic waarin de basisstappen worden beschreven.
  • De 'leverancier' verwijst meestal naar siliciumfabrikanten zoals Qualcomm, maar kan ook verwijzen naar de maker van andere eigen hardware die in een apparaat wordt aangetroffen. De "apparaatmaker" of "OEM" moet meestal wachten tot de leverancier zijn code heeft bijgewerkt, zodat de eigen hardware werkt met het Android OS-framework in een nieuwere versie van Android.
  • Wat er echter gebeurt met Project Treble is dat Google dat vereist leverancierspecifieke code moet worden gescheiden van het Android OS-framework en in plaats daarvan leven in een eigen leveranciersimplementatie. Meestal betekent dit dat er nu een aparte /vendor-partitie is op smartphones met Treble-functionaliteit die een aantal HAL's (Hardware Abstraction Layers) bevat.
  • Bovendien moeten leveranciers code implementeren waarmee het Android OS-framework op een gestandaardiseerde manier met HAL's kan communiceren. Dit gebeurt via HIDL (HAL-interfacedefinitietaal). Als dit op zijn plaats is, kan een OEM aan een Android-update werken zonder te hoeven wachten tot leveranciers hun HAL's updaten. Theoretisch gezien dit zou het hele Android-updateproces moeten versnellen omdat leveranciers hun code op elk moment kunnen bijwerken via de Play Store, Bijvoorbeeld.
  • Laten we een analogie bekijken om te helpen begrijpen wat een HAL is en hoe deze zich verhoudt tot Android. Stel je een auto voor. Het stuur en de remmen zijn de HAL, terwijl de bestuurder het Android OS-framework is. De bestuurder (Android) beweegt het stuur en drukt op de remmen (de HAL) om de beweging van de auto (de hardware) te controleren.
  • Stel je nu voor dat we in een wereld leefden waarin elke autofabrikant besloot zijn stuurwielen te ontwerpen of zijn remmen op een compleet andere manier te herschikken. Als u een bestuurder in een nieuwe auto plaatst, kan hij of zij in de war raken met de manier waarop hij in eerste instantie met het voertuig moet omgaan. Maar dankzij normen zou elke bestuurder bekend moeten zijn met het bedienen van een stuur en remmen van vrijwel elke auto. Verder leert de rijschool alle bestuurders de juiste manier om een ​​voertuig te besturen. In deze analogie zijn de voertuignormen Project Treble en is de rijschool HIDL.

Android Oreo op de Honor 8 Pro. Credits: XDA erkende ontwikkelaar OldDroid

Welke apparaten krijgen Project Treble-ondersteuning?

  • Alle apparaten die lanceren met Android 8.0 Oreo of daarboven moet volledig ondersteunen Project Treble.
  • Alle apparaten die upgraden naar Android 8.0 Oreo Zijn niet verplicht om Project Treble volledig te steunen.
  • De apparaten die updates (officiële releases of gesloten bèta's) hebben voor Android 8.0 Oreo en Treble ondersteunen, zijn onder meer:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Eer 8 Pro
    • Eer 9
    • Essentiële telefoon
  • Het is onwaarschijnlijk dat apparaten onofficieel Project Treble-ondersteuning ontvangen via aangepaste ROM-ontwikkeling. HAL's zijn immers niet open source.

Waarom is Project Treble zo belangrijk voor AOSP ROM's?

  • Om ervoor te zorgen dat de leverancierscode op de juiste manier wordt gescheiden van het Android OS-framework op de manier waarop Project Treble vereist dat Google een Vendor Test Suite (VTS) heeft opgezet waaraan apparaten moeten voldoen om te worden gecertificeerd Googlen. Google-certificering is belangrijk omdat zonder deze certificering een apparaat niet mag worden geleverd waarop Google Play-apps en -services vooraf zijn geïnstalleerd.
  • Eén van de vereisten in de VTS is dat er een apparaat met hoge tonen moet zijn moet kunnen opstarten A onbewerkte, generieke AOSP-build. Vanwege deze vereiste moeten OEM's apparaten leveren die AOSP zonder problemen kunnen opstarten.
  • Hoewel de exacte ROM die Google gebruikt en deelt met OEM's voor VTS niet openbaar is, kon XDA Senior Member Phhusson erachter komen hoe u deze ROM opnieuw kunt maken vanaf de broncode.
  • We hebben nu dus een werkende AOSP ROM gegarandeerd opstartbaar op Project Treble-apparaten. Het meeste werk is al gedaan door OEM's en leveranciers, dus onafhankelijke ontwikkelaars op onze forums hoeven dat niet langer te doen rommelen met kernelbroncode of HAL-hackery. In theorie zou een AOSP ROM "gewoon moeten werken", wat in principe waar is op de apparaten die we hebben getest.
  • Op dit moment is compatibiliteit dat wel niet 100% met alle apparaten kan het systeemimage worden opgestart. Er zijn er ook enkele race omstandigheden dat moet worden uitgezocht. Echter, Project Treble vermindert de hoeveelheid ontwikkelingswerk aanzienlijk dat is nodig om AOSP-ROM's over te zetten naar niet-Google-apparaten. Met de medewerking van meer ontwikkelaars in onze Project Treble-forumverwachten we dat de ontwikkeling van Treble-apparaten een lange weg zal gaan.

Hoe probeer ik Android Oreo nu uit op mijn toestel?

Als je echt avontuurlijk bent en nu een van deze Project Treble-builds op je telefoon wilt uitproberen, heeft phhusson de systeemimages die je nodig hebt om te downloaden op zijn draad op ons Project Treble-forum. Er zijn echter een paar dingen waar u rekening mee moet houden:

  • Je hebt een ontgrendelde bootloader en moet vertrouwd zijn met het gebruik ervan fastboot-opdrachten om afbeeldingen te flashen.
  • Uw apparaat moet gebruik al Android Oreo. Deze systeemimages "upgraden" uw apparaat niet. Als u een van de Huawei/Honor-apparaten gebruikt die in dit artikel worden genoemd, kunt u op onze forums kijken voor een handleiding of de FunkyHuawei.club-service om je telefoon onofficieel bij te werken naar een van de gesloten Oreo-bètabuilds.
  • Je moet daartoe bereid zijn gegevens kwijtraken of fabrieksafbeeldingen opnieuw flashen tijdens het testen. De beste manier om ervoor te zorgen dat dit opstart, is door de gebruikersgegevenspartitie te wissen, inclusief het wissen van alle inhoud op uw interne opslag. Natuurlijk kunt u back-ups maken en deze overzetten als u klaar bent.
  • Deze AOSP-builds zijn dat wel momenteelniet bedoeld voor gebruik als dagelijkse chauffeurs. Het zijn extreem kale botten en bieden niet veel vooraf geïnstalleerde functies of apps. Je zult zelf Google-apps moeten flashen. U moet de APN-instellingen van uw provider handmatig invoeren om mobiele data te laten werken (als deze werkt). Er zullen problemen zijn totdat er meer ontwikkelingsinspanningen worden geleverd.

Conclusie

Google maakte geen grapje toen ze zeiden dat Project Treble misschien wel een van de grootste veranderingen ooit was in de manier waarop Android werkt. We kunnen hier en nu met eigen ogen zien hoeveel impact dit kan hebben. Treble zou het duwtje in de rug kunnen zijn dat de ontwikkelingsgemeenschap nodig heeft om de custom ROM-scene nieuw leven in te blazen. Het duurde minder dan 1 dag om een ​​bijna volledig functionerend AOSP ROM op de Huawei Mate 9 op te starten. Ik ben benieuwd naar het werk dat gedaan zal worden voor andere Treble-apparaten.