En revolusjon innen tilpassede ROM-er: Hvordan Project Treble gjør portering av Android Oreo til en 1-dagsjobb

click fraud protection

En utforskning av hvordan Project Treble revolusjonerer tilpassede ROM-er. Det tok mindre enn 1 dag å porte Android Oreo til Huawei Mate 9.

XDA-foraene har vært den sentrale samlingen av tilpasset ROM-utvikling i årevis. Det er takket være det harde arbeidet til utviklerne på forumene våre at mange eldre Android-smarttelefoner holdes i live av tilpassede ROM-er noen ganger år etter at enhetene ble forlatt av enhetsprodusenten. Selv om de fleste produsenter slipper oppstartsopplåsingsmetoder i disse dager, har hyppige forsinkelser i kjernekildeutgivelser kvalt tilpasset ROM-utvikling på mange smarttelefoner. Det kan imidlertid snart endre seg, takket være noe som heter "Prosjekt diskant" som ble annonsert nær utgivelsen av Android Oreo. Takket være Project Treble bør tiden det tar å portere en AOSP ROM til en enhet ikke lenger ta uker eller måneder – i stedet det bør ta bare dager.

For de av dere som har fulgt den tilpassede ROM-scenen i årevis, er du kanskje allerede klar over hvor viktig denne nyheten er. XDA anerkjent utvikler

OldDroid kalte denne åpenbaringen en "gjennombrudd" i tilpasset AOSP ROM-utvikling. Takket være Project Treble-støtte, for eksempel, Jeg var i stand til å starte opp en nesten fullt fungerende Android 8.0 Oreo ROM på Huawei Mate 9—en enhet som til nå ikke engang hadde sett en eneste AOSP Android Nougat ROM.

Vi kan snart se en revolusjon innen tilpasset ROM-utvikling takket være den første utviklingsinnsatsen på denne fronten av XDA Senior Member phhusson. Etter 20 timers arbeid med å undersøke, utvikle og feilsøke med meg, skapte phhusson et systembilde som kan oppstartet på flere enheter fra forskjellige produsenter og med helt forskjellige SoC-er. For eksempel, det samme systembildet som jeg startet på min egen Huawei Mate 9, starter 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 SoCs (HiSilicon Kirin 960 og Qualcomm Snapdragon 835) hvor 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øres på nesten hvilken som helst datamaskin maskinvare. For å oppmuntre til mer utvikling på denne fronten, har vi åpnet for en nytt forum dedikert til Project Treble aktiverte enheter. Forumet er rettet mot utviklere for øyeblikket, så vennligst avstå fra å starte en ny tråd med mindre du er interessert i å bidra til utvikling. Hvis du ønsker å hjelpe til med å teste diskant-kompatible systembilder, så legg gjerne igjen kommentarer på eksisterende tråder.

Bli med i Project Treble Development Forum

Gitt betydningen av denne utviklingen og kompleksiteten til emnet, tenkte jeg at jeg ville nærme meg denne artikkelen litt annerledes enn de andre. Jeg skal kjøre ned en punktliste som forklarer noen vanlige spørsmål folk kan ha, samt påpeke nøkkelfakta angående denne siste utviklingen.


Hva er Project Treble?

Kreditt: Google

Project Treble er oftest beskrevet som et forsøk fra Google på å modularisere Android OS-rammeverket for å skille leverandørspesifikk kode. La oss bryte ned ting litt mer:

  • Den fullstendige oppdateringsprosessen for å bringe en ny Android-versjon til enheter er et langt og komplekst emne, men Sony har gjort en god jobb med denne infografikken som skisserer de grunnleggende trinnene.
  • "Leverandøren" refererer vanligvis til silisiumprodusenter som Qualcomm, men kan også referere til produsenten av annen proprietær maskinvare som finnes i en enhet. "Enhetsprodusenten" eller "OEM" må vanligvis vente på at leverandøren oppdaterer koden sin slik at den proprietære maskinvaren fungerer med Android OS-rammeverket i en nyere versjon av Android.
  • Det som imidlertid skjer med Project Treble er at Google krever at noen leverandørspesifikk kode skilles fra Android OS-rammeverket og i stedet leve i sin egen leverandørimplementering. Vanligvis betyr dette at det nå er en egen /leverandør-partisjon på diskantaktiverte 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-er på en standardisert måte. Dette gjøres via HIDL (HAL Interface Definition Language). Med dette på plass kan en OEM jobbe med en Android-oppdatering uten å måtte vente på at leverandører oppdaterer HAL-ene sine. Teoretisk sett dette bør fremskynde hele Android-oppdateringsprosessen som leverandører kan oppdatere koden sin når som helst gjennom Play-butikken, for eksempel.
  • For å hjelpe deg med å forstå hva en HAL er og hvordan den er relatert til Android, la oss vurdere en analogi. Tenk deg en bil. Rattet og bremsene er HAL mens sjåføren er Android OS-rammeverket. Sjåføren (Android) beveger rattet og trykker på bremsene (HAL) for å kontrollere bevegelsen til bilen (maskinvaren).
  • Tenk nå om vi levde i en verden der hver bilprodusent bestemte seg for å designe rattene sine eller omorganisere bremsene på en helt annen måte. Hvis du setter en sjåfør i en ny bil, kan de bli forvirret med hvordan man i utgangspunktet skal håndtere kjøretøyet. Men takket være standarder bør enhver sjåfør være kjent med hvordan man betjener et ratt og bremser på nesten alle biler. Videre lærer kjøreskolen 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. Kreditt: XDA anerkjent utvikler OldDroid

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

  • Alle enheter som lanseres med Android 8.0 Oreo eller over må støtte fullt ut Prosjekt diskant.
  • Alle enheter som oppgradere til Android 8.0 Oreo er ikke obligatorisk for å støtte Project Treble fullt ut.
  • Enhetene som har oppdateringer (offisielle utgivelser eller lukkede betaversjoner) 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 er tross alt ikke åpen kildekode.

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

  • For å sikre at leverandørkoden er riktig atskilt fra Android OS-rammeverket på den måten som Project Treble krever, Google har satt opp en Vendor Test Suite (VTS) som enheter må bestå for å bli sertifisert av Google. Google-sertifisering er viktig fordi uten den har en enhet ikke lov til å sendes med Google Play-apper og -tjenester forhåndsinstallert.
  • Et av kravene i VTS er at en diskant-aktivert enhet må kunne starte opp en rå, generisk AOSP-bygge. På grunn av dette kravet må OEM-er sende enheter som kan starte opp AOSP uten problemer.
  • Selv om den nøyaktige ROM-en som Google bruker og deler med OEM-er for VTS ikke er offentlig, klarte XDA Senior Member phhusson å finne ut hvordan gjenskape denne ROM-en fra kilden.
  • Dermed har vi nå en fungerende AOSP ROM altså garantert oppstartbar på Project Treble-enheter. Det meste av arbeidet er allerede utført av OEM-er og leverandører, så uavhengige utviklere på forumene våre trenger ikke lenger å rote rundt med kjernekildekode eller HAL-hackeri. I teorien skal en AOSP ROM "bare fungere", noe vi har vist å være i utgangspunktet sant på enhetene vi har testet.
  • For øyeblikket er kompatibilitet ikke 100% med alle enheter systembildet kan startes på. Det er også noen løpsforholdene som må finne ut. Imidlertid Project Treble kutter betydelig ned på mengden utviklingsarbeid som er nødvendig for å porte AOSP ROM-er til enheter som ikke er fra Google. Med samarbeid fra flere utviklere i vår Project Treble-forum, forventer vi å se utviklingen av Treble-enheter gå langt.

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

Hvis du er virkelig eventyrlysten og vil prøve ut en av disse Project Treble-byggene på telefonen din akkurat nå, har phhusson systembildene du trenger å laste ned på tråden hans i vårt Project Treble-forum. Det er imidlertid et par ting du må huske på:

  • Du trenger en ulåst bootloader og trenger å være fortrolig med bruken fastboot-kommandoer å flashe bilder.
  • Enheten din må kjører allerede Android Oreo. Disse systembildene "oppgraderer" ikke enheten din. Hvis du kjører en av Huawei/Honor-enhetene nevnt i denne artikkelen, kan du se på forumene våre for en veiledning eller bruke FunkyHuawei.club-tjeneste for å uoffisielt oppdatere telefonen til en av de lukkede Oreo beta-byggene.
  • Du må være villig til det mister data eller relash fabrikkbilder mens du tester. Den beste måten å sikre at denne starter på, er å tørke brukerdatapartisjonen, som inkluderer sletting av 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 for tidenikke ment for bruk som daglige sjåfører. De er ekstremt bare bein og tilbyr ikke mange funksjoner eller apper forhåndsinstallert. Du må flashe 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 er lagt frem.

Konklusjon

Google tullet ikke da de sa at Project Treble kanskje var en av de største endringene noensinne i måten Android fungerer på. Vi kan se selv, akkurat her og nå, hvor stor innvirkning det kan ha. Diskant kan være pushen utviklingsfellesskapet trenger for å revitalisere den tilpassede ROM-scenen. Det tok mindre enn 1 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 diskantaktiverte enheter.