En udforskning af, hvordan Project Treble revolutionerer tilpassede ROM'er. Det tog mindre end 1 dag at overføre Android Oreo til Huawei Mate 9.
XDA-foraene har været den centrale samling af tilpasset ROM-udvikling i årevis. Det er takket være det hårde arbejde fra udviklere på vores fora, at mange ældre Android-smartphones holdes i live af brugerdefinerede ROM'er nogle gange år efter, at enheder blev forladt af enhedsproducenten. Selvom de fleste producenter frigiver bootloader-oplåsningsmetoder i disse dage, har hyppige forsinkelser i kernekildeudgivelser kvælt tilpasset ROM-udvikling på mange smartphones. Det kan dog snart ændre sig, takket være noget der hedder "Projekt Diskant", som blev annonceret nær udgivelsen af Android Oreo. Takket være Project Treble bør den tid, det tager at porte en AOSP ROM til en enhed, ikke længere tage uger eller måneder – i stedet for det skulle kun tage dage.
For dem af jer, der har fulgt den tilpassede ROM-scene i årevis, er du måske allerede klar over, hvor betydningsfuld denne nyhed er. XDA anerkendt udvikler
OldDroid kaldte denne åbenbaring en "bryde igennem" i tilpasset AOSP ROM-udvikling. Takket være Project Treble support, f.eks. Jeg var i stand til at starte -en næsten fuldt fungerende Android 8.0 Oreo ROM på Huawei Mate 9—en enhed, der indtil nu ikke engang havde set en eneste AOSP Android Nougat ROM.Vi kan snart se en revolution inden for tilpasset ROM-udvikling takket være den indledende udviklingsindsats på denne front af XDA Senior Member phhusson. Efter 20 timers arbejde med at researche, udvikle og fejlfinde sammen med mig, skabte phhusson et systembillede, der kan opstartet på flere enheder fra forskellige producenter og med helt forskellige SoC'er. For eksempel starter det samme systembillede, som jeg startede på min egen Huawei Mate 9, også på Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact og Essential Phone. Det er 3 forskellige OEM'er (Huawei/Honor, Sony og Essential) og 2 forskellige SoC'er (HiSilicon Kirin 960 og Qualcomm Snapdragon 835), hvor dette enkelte systembillede med succes kan starte.
Det er muligt, at vi i fremtiden kan se et enkelt systembillede, der kan fungere på dusinvis af forskellige Android-smartphones, ligesom Microsoft Windows kan køre på næsten enhver computer hardware. For at tilskynde til mere udvikling på denne front, har vi åbnet op for en nyt forum dedikeret til Project Treble aktiverede enheder. Forummet er rettet mod udviklere i øjeblikket, så undlad venligst at starte en ny tråd, medmindre du er interesseret i at bidrage til udvikling. Hvis du ønsker at hjælpe med at teste diskant-kompatible systembilleder, så er du velkommen til at efterlade kommentarer til eksisterende tråde.
Deltag i Project Treble Development Forum
I betragtning af betydningen af denne udvikling og emnets kompleksitet, tænkte jeg, at jeg ville gribe denne artikel lidt anderledes an end de andre. Jeg vil lave en punktliste, der forklarer nogle almindelige spørgsmål, som folk måtte have, samt påpeger nøglefakta vedrørende denne seneste udvikling.
Hvad er Project Treble?
Project Treble beskrives oftest som et forsøg fra Google på at modularisere Android OS-rammen for at adskille leverandørspecifik kode. Lad os nedbryde tingene lidt mere:
- Den fulde opdateringsproces for at bringe en ny Android-version til enheder er et langt og komplekst emne, men Sony har gjort et godt stykke arbejde med denne infografik som beskriver de grundlæggende trin.
- "Sælgeren" refererer normalt til siliciumproducenter såsom Qualcomm, men kan også henvise til producenten af enhver anden proprietær hardware fundet i en enhed. "Device maker" eller "OEM" skal normalt vente på, at leverandøren opdaterer deres kode, så den proprietære hardware fungerer med Android OS-rammerne i en nyere version af Android.
- Det, der dog sker med Project Treble, er, at Google kræver, at evt leverandørspecifik kode adskilles fra Android OS-rammerne og i stedet leve i sin egen leverandørimplementering. Normalt betyder dette, at der nu er en separat /leverandør-partition på diskant-aktiverede smartphones, der indeholder en masse HAL'er (Hardware Abstraction Layers).
- Desuden skal leverandører implementere kode, der lader Android OS-rammerne kommunikere med HAL'er på en standardiseret måde. Dette gøres via HIDL (HAL Interface Definition Language). Med dette på plads kan en OEM arbejde på en Android-opdatering uden at skulle vente på, at leverandører opdaterer deres HAL'er. Teoretisk set dette skulle fremskynde hele Android-opdateringsprocessen da leverandører kan opdatere deres kode til enhver tid gennem Play Butik, for eksempel.
- For at hjælpe med at forstå, hvad en HAL er, og hvordan den relaterer til Android, lad os overveje en analogi. Forestil dig en bil. Rattet og bremserne er HAL, mens driveren er Android OS rammen. Føreren (Android) flytter rattet og trykker på bremserne (HAL) for at kontrollere bevægelsen af bilen (hardwaren).
- Forestil dig nu, hvis vi levede i en verden, hvor alle bilproducenter besluttede at designe deres rat eller omarrangere deres bremser på en helt anden måde. Hvis du sætter en chauffør i en ny bil, kan de blive forvekslet med, hvordan man i første omgang skal håndtere køretøjet. Men takket være standarder bør enhver bilist være bekendt med, hvordan man betjener et rat og bremser på næsten enhver bil. Ydermere lærer køreskolen alle chauffører den rigtige måde at betjene et køretøj på. I denne analogi er køretøjsstandarderne Project Treble, og køreskolen er HIDL.
Hvilke enheder får Project Treble-support?
- Alle enheder, der lanceres med Android 8.0 Oreo eller over skal støtte fuldt ud Projekt Diskant.
- Alle enheder, der opgradere til Android 8.0 Oreo er ikke påkrævet for fuldt ud at støtte Project Treble.
- De enheder, der har opdateringer (officielle udgivelser eller lukkede betaversioner) til Android 8.0 Oreo og understøtter Treble inkluderer følgende:
- Google Pixel
- Google Pixel XL
- Huawei Mate 9
- Honor 8 Pro
- Ære 9
- Vigtig telefon
- Det er usandsynligt, at nogen enheder uofficielt modtager Project Treble-support via tilpasset ROM-udvikling. HAL'er er trods alt ikke open source.
Hvorfor er Project Treble så vigtigt for AOSP ROM'er?
- For at sikre, at leverandørkoden er korrekt adskilt fra Android OS-rammerne på den måde, som Project Diskant kræver, Google har oprettet en Vendor Test Suite (VTS), som enheder skal bestå for at blive certificeret af Google. Google-certificering er vigtig, fordi uden den må en enhed ikke sendes med Google Play-apps og -tjenester forudinstalleret.
- Et af kravene i VTS er, at en diskant-aktiveret enhed skal kunne starte -en rå, generisk AOSP build. På grund af dette krav er OEM'er nødt til at sende enheder, der kan starte AOSP uden problemer.
- Selvom den nøjagtige ROM, som Google bruger og deler med OEM'er til VTS, ikke er offentlig, var XDA Senior Member Phhusson i stand til at finde ud af hvordan man genskaber denne ROM fra kilden.
- Således har vi nu en fungerende AOSP ROM, dvs garanteret at være bootbar på Project Treble-enheder. Det meste af arbejdet blev allerede udført af OEM'er og leverandører, så uafhængige udviklere på vores fora behøver ikke længere at rode rundt med kernekildekode eller HAL-hackeri. I teorien skulle en AOSP ROM "bare fungere", hvilket vi har vist, at det grundlæggende er sandt på de enheder, vi har testet.
- I øjeblikket er kompatibilitet ikke 100% med alle enheder kan systembilledet startes op. Der er også nogle race forhold det skal man finde ud af. Dog Project Treble skærer markant ned på mængden af udviklingsarbejde som er nødvendig for at porte AOSP ROM'er til ikke-Google-enheder. Med samarbejde med flere udviklere i vores Projekt Treble forum, forventer vi at se udviklingen af Treble-enheder gå langt.
Hvordan prøver jeg Android Oreo på min enhed nu?
Hvis du er virkelig eventyrlysten og gerne vil prøve en af disse Project Treble builds på din telefon lige nu, har phhusson de systembilleder, du skal downloade, på hans tråd i vores Project Treble-forum. Der er dog et par ting, du skal huske på:
- Du skal bruge en ulåst bootloader og skal være fortrolig med at bruge fastboot kommandoer at flashe billeder.
- Din enhed skal allerede kører Android Oreo. Disse systembilleder "opgraderer" ikke din enhed. Hvis du kører en af Huawei/Honor-enhederne nævnt i denne artikel, kan du se på vores fora for at få en guide eller bruge FunkyHuawei.club service for uofficielt at opdatere din telefon til en af de lukkede Oreo beta builds.
- Det skal du være villig til miste data eller genfremstille fabriksbilleder mens der testes. Den bedste måde at sikre, at denne starter, er at slette brugerdatapartitionen, som inkluderer sletning af alt indhold på dit interne lager. Selvfølgelig kan du lave sikkerhedskopier og overføre dem, når du er færdig.
- Disse AOSP builds er i øjeblikketikke beregnet til brug som daglige chauffører. De er ekstremt bare knogler og tilbyder ikke mange funktioner eller apps forudinstalleret. Du skal selv flashe Google-apps. Du bliver nødt til manuelt at indtaste din udbyders APN-indstillinger for at få mobildata til at fungere (hvis det virker). Tingene vil være buggy, indtil der er lagt mere udviklingsindsats frem.
Konklusion
Google lavede ikke sjov, da de sagde, at Project Treble måske var en af de største ændringer nogensinde i den måde, Android fungerer på. Vi kan selv se, lige her og nu, hvor stor en indflydelse det kan have. Diskant kan være det skub, udviklingssamfundet har brug for for at revitalisere den tilpassede ROM-scene. Det tog mindre end 1 dag at starte en næsten fuldt fungerende AOSP ROM på Huawei Mate 9. Jeg er spændt på at se det arbejde, der vil blive udført for andre diskant-aktiverede enheder.