En revolusjon i tilpassede ROM: Hvordan Project Treble gjør Porting Android Oreo til en 1-dagsjobb

Forumene har vært den sentrale samlingen av tilpasset ROM-utvikling i årevis. Det er takket være det harde arbeidet fra utviklere på forumene våre at mange eldre Android-smarttelefoner holdes i live av tilpassede ROMS noen ganger år etter at enheter ble forlatt av enhetsprodusenten. Selv om de fleste produsenter lanserer opplåsningsmetoder for oppstartslaster i disse dager, har hyppige forsinkelser i utgivelser av kjerne kilder kvalt tilpasset ROM-utvikling på mange smarttelefoner. Det kan imidlertid snart endre seg, takket være noe som heter “Project Treble” som ble kunngjort i løpet av utgivelsen av Android Oreo. Takket være Project Treble bør tiden det tar å port en AOSP ROM til en enhet ikke lenger ta uker eller måneder - i stedet bør det bare ta dager .

For de av dere som har fulgt den tilpassede ROM-scenen i flere år, er du kanskje allerede klar over hvor viktig denne nyheten er. Anerkjent utvikler OldDroid kalte denne avsløringen et " gjennombrudd " i tilpasset AOSP ROM-utvikling. Takket være Project Treble-støtte, for eksempel, kunne jeg starte opp en nesten fullt fungerende Android 8.0 Oreo ROM på Huawei Mate 9 - en enhet som til nå ikke hadde sett en eneste AOSP Android Nougat ROM.

Vi kan snart se en revolusjon innen tilpasset ROM-utvikling takket være den første utviklingsarbeidet på denne fronten av Senior Member phhusson. Etter 20 timers arbeid med å undersøke, utvikle og feilsøke med meg, opprettet phhusson et systembilde som kan startes på flere enheter fra forskjellige produsenter og med helt andre SoC-er . For eksempel støtter det samme systembildet som jeg startet opp på min egen Huawei Mate 9 også på Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact og Essential Phone. Det er 3 forskjellige OEM-er (Huawei / Honor, Sony og Essential) og 2 forskjellige SoC-er (HiSilicon Kirin 960 og Qualcomm Snapdragon 835) der dette enkelt systembildet kan starte opp.

Det er mulig at vi i fremtiden kan se et enkelt systembilde som kan fungere på dusinvis av forskjellige Android-smarttelefoner, omtrent som hvordan Microsoft Windows kan kjøre på nesten hvilken som helst datamaskinvare. For å oppmuntre til mer utvikling på denne fronten, har vi åpnet et nytt forum dedikert til Project Treble- aktiverte enheter. Forumet er rettet mot utviklere i dette øyeblikket, så avstå fra å starte en ny tråd med mindre du er interessert i å bidra til utvikling. Hvis du ønsker å hjelpe med å teste Treble-kompatible systembilder, kan du gjerne legge igjen kommentarer til eksisterende tråder.

Bli med i Project Treble Development Forum

Med tanke på betydningen av denne utviklingen og kompleksiteten i emnet, tenkte jeg at jeg ville nærme meg denne artikkelen litt annerledes enn de andre. Jeg vil løpe ned en liste over punktpunkter som forklarer noen vanlige spørsmål folk kan ha, samt peke på viktige fakta angående denne siste utviklingen.


Hva er Project Diskant?

Kreditter: Google

Project Treble blir ofte beskrevet som et forsøk fra Google på å modulisere Android OS-rammeverket for å skille leverandørspesifikk kode. La oss bryte tingene litt mer:

  • Full oppdateringsprosess for å bringe en ny Android-versjon til enheter er et langt og sammensatt tema, men Sony har gjort en god jobb med denne infografien som skisserer de grunnleggende trinnene.
  • “Forhandleren” refererer vanligvis til silisiumprodusenter som Qualcomm, men kan også henvise til produsenten av annen egenutviklet maskinvare som finnes på en enhet. "Enhetsprodusenten" eller "OEM" trenger vanligvis å vente på at leverandøren skal oppdatere koden sin, slik at den egenutviklede maskinvaren fungerer med Android OS-rammeverket i en nyere versjon av Android.
  • Det som imidlertid skjer med Project Treble er at Google krever at enhver leverandørspesifikk kode skilles fra Android OS-rammeverket og i stedet lever i sin egen leverandørimplementering. Vanligvis betyr dette at det nå er en egen / leverandørpartisjon på Treble-aktiverte smarttelefoner som inneholder en haug med HAL-er (Hardware Abstraction Layers).
  • Videre må leverandører implementere kode som lar Android OS-rammeverket kommunisere med HAL på en standardisert måte. Dette gjøres via HIDL (HAL Interface Definition Language). Med dette på plass kan en OEM arbeide med en Android-oppdatering uten å måtte vente på leverandører for å oppdatere HAL-ene. Teoretisk sett skal dette øke hastigheten på hele Android-oppdateringsprosessen ettersom leverandører kan oppdatere koden når som helst gjennom Play Store, for eksempel.
  • For å forstå hva en HAL er og hvordan den forholder seg til Android, la oss vurdere en analogi. Se for deg en bil. Ratt og bremser er HAL mens driveren er rammeverket for Android OS. Føreren (Android) beveger rattet og trykker på bremsene (HAL) for å kontrollere bevegelsen til bilen (maskinvaren).
  • Tenk deg om vi levde i en verden der enhver bilprodusent bestemte seg for å designe rattene sine eller ordne bremsene på en helt annen måte. Hvis du setter en sjåfør i en ny bil, kan de forveksles med hvordan du først skal håndtere kjøretøyet. Men takket være standarder, bør enhver sjåfør være kjent med hvordan man bruker ratt og bremser på nesten hvilken som helst bil. Videre lærer kjøreskole alle sjåfører den riktige måten å betjene et kjøretøy på. I denne analogien er kjøretøystandardene Project Treble og kjøreskolen er HIDL.

Android Oreo på Honor 8 Pro. Studiepoeng: Anerkjent utvikler OldDroid

Hvilke enheter vil få støtte fra Project Treble?

  • Alle enheter som lanseres med Android 8.0 Oreo eller nyere, må støtte Project Treble.
  • Alle enheter som oppgraderer til Android 8.0 Oreo er ikke påkrevd å støtte Project Treble fullt ut.
  • Enhetene som har oppdateringer (offisielle utgivelser eller lukkede betas) til Android 8.0 Oreo og støtter Treble inkluderer følgende:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Ære 9
    • Viktig telefon
  • Det er usannsynlig at noen enheter uoffisielt mottar Project Treble-støtte via tilpasset ROM-utvikling. HAL er tross alt ikke åpen kildekode.

Hvorfor er Project Treble så viktig for AOSP ROM-er?

  • For å sikre at leverandørkoden er skilt skikkelig fra Android OS-rammeverket på den måten Project Treble krever, har Google satt opp en Vendor Test Suite (VTS) som enheter må passere for å bli sertifisert av Google. Googles sertifisering er viktig fordi det uten enheten ikke er lov å sende med Google Play-apper og -tjenester forhåndsinstallert.
  • Et av kravene i VTS er at en Treble-aktivert enhet må kunne starte en rå, generisk AOSP-bygg. På grunn av dette kravet må OEM-er sende enheter som kan starte AOSP uten problemer.
  • Selv om den nøyaktige ROM-en som Google bruker og deler med OEM-er for VTS ikke er offentlig, var phhusson av Seniormedlemmet i stand til å finne ut hvordan man kunne gjenskape denne ROM-en fra kilden.
  • Dermed har vi nå en fungerende AOSP ROM som garantert kan startes på Project Treble-enheter . Det meste av arbeidet ble utført av OEM og leverandører allerede, så ikke lenger trenger uavhengige utviklere på forumene våre å rote seg med kildekildekoden eller HAL-hackery. I teorien skal en AOSP-ROM "bare fungere", noe vi i utgangspunktet har vist på enhetene vi har testet.
  • For øyeblikket er ikke kompatibiliteten 100% for alle enheter systembildet kan startes på. Det er også noen løpsbetingelser som må regnes ut. Project Treble kutter imidlertid betydelig ned mengden utviklingsarbeid som er nødvendig for å porte AOSP-ROM-er til enheter som ikke er fra Google. I samarbeid med flere utviklere i vårt Project Treble-forum, forventer vi at Treble enhetsutvikling går langt.

Hvordan prøver jeg ut Android Oreo på enheten min nå?

Hvis du er virkelig eventyrlysten og vil prøve ut et av disse Project Treble-byggene på telefonen din akkurat nå, har phhusson systembildene du trenger å laste ned over på tråden hans i Forum Treble-forumet. Det er noen få ting du må huske på:

  • Du trenger en ulåst opplaster og trenger å være kjent med å bruke fastboot-kommandoer for å blinke bilder.
  • Enheten din må allerede ha Android Oreo . Disse systembildene “oppgraderer” ikke enheten. Hvis du kjører en av Huawei / Honor-enhetene som er nevnt i denne artikkelen, kan du se på forumene våre etter en guide eller bruke tjenesten FunkyHuawei.club til uoffisiell oppdatering av telefonen din til et av de lukkede Oreo beta-byggene.
  • Du må være villig til å miste data eller refash fabrikkbilder mens du tester. Den beste måten å sikre at disse støvlene er, er å tørke av userdata-partisjonen, som inkluderer å tørke alt innholdet på den interne lagringen. Selvfølgelig kan du ta sikkerhetskopier og overføre dem når du er ferdig.
  • Disse AOSP-byggene er foreløpig ikke ment for bruk som daglige drivere. De er ekstremt nakne bein og tilbyr ikke mange funksjoner eller apper forhåndsinstallert. Du må blinke Google-apper selv. Du må legge inn operatørens APN-innstillinger manuelt for å få mobildata til å fungere (hvis det fungerer). Ting vil være buggy inntil mer utviklingsinnsats legges frem.

Konklusjon

Google tullet ikke da de sa at Project Treble kanskje var en av de største endringene noensinne på hvordan Android fungerer. Vi kan se selv, akkurat her og nå, hvor stor innvirkning det kan ha. Diskant kan være et press utviklingssamfunnet trenger for å revitalisere den tilpassede ROM-scenen. Det tok mindre enn en dag å starte opp en nesten fullt fungerende AOSP ROM på Huawei Mate 9. Jeg er spent på å se arbeidet som vil bli gjort for andre Treble-aktiverte enheter.