Hvad Project Diskant betyder for fremtidig Custom ROM-udvikling

Project Treble ankommer nu med Android Oreo-enheder. I dag laver vi en gennemgang af, hvad Project Treble betyder for fremtidig tilpasset ROM-udvikling.

Her på XDA har vi tidligere talt om Projekt Diskant, den største ændring på lavt niveau, der blev introduceret til Android-basen, siden den første Android-beta blev udgivet for næsten 10 år siden, og hvordan du kan fortælle hvis din enhed har det. For dem, der stadig ikke er klar over, hvad Project Treble er, modulariserer det det nederste lag af Android ved at adskille leverandøren implementering (proprietære blobs og software, CPU- og GPU-drivere osv.) fra den primære Android-ramme og system. Dette resulterer i at fremskynde systemopdateringer ved at modularisere hardwareabstraktionslaget (HAL'er) og adskille det fra resten af ​​Android OS, og ved at eliminere OEM-afhængighed af langsomme driveropdateringer fra siliciumproducenter. Slutmålet er forhåbentlig at forlænge den 24-måneders store softwareopdateringssupportperiode, som i øjeblikket loves af de fleste enhedsproducenter.

Dette skulle hjælpe med at give Android-telefoner muligheden for at modtage Apple-lignende opdateringer, i det mindste på flagskibstelefoner. Mens det gennemsnitlige Android-flagskib modtager 2 store opdateringer i en 24-måneders periode, får iPhone-enheder minimum 4 års iOS-opdateringer, inklusive mindre. På diskant-understøttede Android-telefoner kan dette i sidste ende blive en realitet, forudsat at telefonproducenten er nede for at opdatere deres telefon. De, der ønsker at holde deres enheder opdateret i en lignende tidsramme, har ingen anden mulighed end at ty til brugerdefinerede ROM'er.

Heldigvis skulle Project Treble også gøre græsset grønnere for brugerdefinerede ROM-brugere. Faktisk har den potentiale til at ændre den tilpassede ROM-udviklingsscene fuldstændig - og for altid.


Hvordan kan brugerdefinerede ROM'er drage fordel af Treble?

Grunden til, at der langsomt arbejdes på uofficielle Android Oreo-porte i stedet for blot noget, udviklere kan kompilere, starte op og køre, er enkel. For at hente en ny Android-version på en eksisterende enhed, kernen og enhedstræet skal omarbejdes kraftigt for at få en eksisterende Android-telefon til at fungere med en nyere Android frigøre. Det er fordi den nuværende leverandørimplementering, inklusive alle proprietære binære blobs, er lavet til at fungere med en enkelt Android-version, og skal derfor omarbejdes og overføres til den nye Android-version, for at enheden kan fungere ordentligt.

Næsten alle komponenter inde i telefonen bruger en uafhængig, proprietær blob og skal lappes og arbejdes på uafhængigt, så den nyere software kan bruge den, samtidig med at de andre ikke går i stykker i processen. Dette er virkelig en tidskrævende opgave, og hovedårsagen til, at de fleste stabil brugerdefinerede ROM'er (som LineageOS ugeblade eller andre, officielt understøttede ROM'er) vises ikke før 2-3 måneder efter, at den endelige Android-udgivelse falder til AOSP. Al denne indsats betyder også, at den resulterende ROM kun vil fungere på én enhed eller i bedste tilfælde en håndfuld enheder med identiske eller lignende specifikationer.

Dette ser ud til at ændre sig med Project Treble, ifølge Ron Amadeo fra ArsTechnica og uafhængigt bekræftet af tilpasset ROM-udvikler SultanXDA.

Malchev siger, at Treble standardiserer Android hardware support i en sådan grad, at generiske Android builds kompileret fra AOSP kan starte og køre på hver Diskant enhed. Faktisk er disse "rå AOSP"-builds, hvad der vil blive brugt til nogle af de CTS-test, som Google kræver, at alle Android OEM'er består for at licensere Google-apps – det er ikke kun, at tingene bør arbejde, de er påkrævet at arbejde.

For at drive dette punkt hjem betyder det, at på grund af den måde, hvorpå det nederste lag af Android blev moduliseret, vil alle diskant-enheder på markedet være i stand til at starte en generisk aktie, AOSP Android build. Dette fjerner det meste af besværet med at portere tilpassede ROM'er til en ældre enhed, da en enkelt generisk Android-build kan køre på mange enheder. Dette flytter Android-enheder meget tættere på noget som en personlig computer, hvor du kan starte den nyeste, banebrydende Windows 10 build eller enhver Linux-distribution på en 10-12 år gammel computer.

Du vil ikke være i stand til at starte fejlfrit fungerende generisk Android 9.0 bygger dog på din Treble-enhed endnu - enhedstræer og -kerner skal stadig arbejdes på. Det er stadig en god start: takket være de modulariserede HAL'er er arbejdsbyrden for at bringe den næste Android op version skulle være stærkt reduceret, og vi kunne se stabile 9.0 builds i løbet af få dage/uger i stedet for måneder. Vi bør huske på, at Project Treble, mens det nu ruller ud, stadig er et igangværende arbejde, da det stadig modtager ændringer i AOSP, og leverandørlaget kunne i sidste ende standardiseres til det punkt at installere en ny Android-version vil være det samme som at installere Windows på en computer.

Dette er et stort teknisk fremskridt, og det har potentialet til betydeligt at forbedre AOSP-baseret tilpasset ROM-udvikling på vores fora. Men altså, dette gælder kun for enheder med Project Treble, og i øjeblikket er de eneste diskanttelefoner, der er tilgængelige derude, Google Pixel, Google Pixel XL, Sony Xperia XZ1 og XZ1 Compact. Hvad vil der ske med eksisterende pre-Oreo-telefoner?


Kunne en brugerdefineret ROM bringe Treble til en eksisterende telefon?

Vi har allerede haft et stort katalog af Android Oreo ROM'er til eksisterende telefoner, inklusive Nexus, OnePlus, Xiaomi og Motorola-telefoner. Men kunne en af ​​disse ROM'er bringe Project Treble til din telefon? Svaret: det er ikke sandsynligt.

Ændringerne, der er foretaget på Android-platformen på lavt niveau, er virkelig komplicerede, og ikke rigtig noget, du bare kan få til at arbejde på en almindelig tilpasset ROM. Det er ikke noget som pie-kontroller eller enhedsbevægelser, men et totalt redesign af leverandørens implementering. Dette er noget, der kræver, at Qualcomm og andre siliciumproducenters arbejde er med. Google er i øjeblikket arbejder med forskellige OEM'er for at bringe Treble til nogle eksisterende flagskibstelefoner, men selv da er vi ikke sikre hvad OEM'er arbejder på det, da listen ikke blev afsløret. Vi har dog set nogle diskant-relaterede commits flyde rundt i LineageOS Gerrit, så det er sikkert at sige, at det faktisk bliver forsøgt.

I sidste ende er det for tidligt at sige. Vi har set nogle fantastiske udviklingspræstationer komme fra vores fora før, inklusive fantastiske ting som universelle systemløse grænseflader eller eMMC-lageropgraderinger, så hvem ved? Nogen kan på en eller anden måde ende med at få Project Treble til at arbejde på en ældre telefon.

Men vi har kun haft mulighed for at grave igennem Android Oreo kilde i omkring 2 uger, så som vi sagde, er det stadig for tidligt at sige. Vi er dog stadig begejstrede for mulighederne, og vi vil holde dig orienteret om fremtidige diskant-relaterede udviklinger på XDA-portalen, som er bedst tilgængelig via XDA Labs-appen!

Tak til Paranoid Android-teammedlem /u/evan1123 for at rydde op i en fejl i artiklen!