En utvikler på forumet vårt har klart å bringe full Project Treble-kompatibilitet til Xiaomi Redmi Note 4, og han har bevist det ved å starte opp en generisk Android 8.1 Oreo. Dette åpner for mye enklere fremtidig tilpasset ROM-utvikling, og vil være enormt fordelaktig når Android P kommer.
Hvis du har fulgt XDA-portalen, vil du vite hvor begeistret vi er for Googles Project Treble. I et nøtteskall, Prosjekt diskant er kanskje den viktigste endringen på lavt nivå i Android Framework på mange år. Det innebærer å skille leverandørens Hardware Abstraction Layers (HALs) fra Android Framework til en ny leverandørpartisjon, og ha HAL-er kommuniserer med Android Framework gjennom et nytt leverandørgrensesnitt via det som kalles HAL Interface Definition Language (HIDL). Å gjøre dette vil teoretisk sett fremskynde fremtidige programvareoppdateringer siden enhetsprodusenter, også kjent som OEM-er, ikke lenger vil ha å vente på at leverandører som Qualcomm skal oppgradere binærfilene sine før de kan begynne å jobbe med neste versjon av Android (som Android P).
Alle Android-enheter som starter med Android 8.0 Oreo MÅ være Project Treble-kompatible (noe som betyr at de må bestå Vendor Test Suite [VTS]), men enheter som oppgraderer til Android Oreo er ikke pålagt å være det. (Du kan sjekke om enheten din er diskantkompatibel av følger guiden vår her.) Mens Google har vært jobber med noen OEM-er for å sikre diskantkompatibilitet på enkelte enheter, enhetsprodusenter som f.eks OnePlus, Nokia, og Samsung har rullet ut Oreo-oppdateringer uten diskantkompatibilitet.
Dette er spesielt en skuffelse blant medlemmer av samfunnet vårt på grunn av potensialet som diskantkompatibilitet gir til tilpasset ROM-utvikling. Etter å ha teoretisert hvordan det kan være til nytte for det tilpassede ROM-fellesskapet, var jeg personlig i stand til start opp en generisk AOSP Android 8.0 Oreo-bygge (kalt et generisk systembilde [GSI] av Google) på min Huawei Mate 9. Dette åpnet slusene for ROM-utvikling sentrert rundt GSI, og andre enheter som f.eks Huawei Mate 10, Honor 8 Pro og Honor 9 blant andre er i stand til å kjøre stabile versjoner av AOSP Android Oreo som daglige drivere. Jeg personlig kjører en såkalt "Treble ROM" på min egen Huawei Mate 10 Pro, og takket være prosjekter som Xposed Framework med GravityBox-modul, Underlag for temaer, og min egen rammeoverlegg, det er ikke så mange funksjoner jeg mangler.
Så med alle fordelene som Treble ser ut til å gi til tilpasset ROM-utvikling, har brukere lurt på om det er mulig å "portere" diskantkompatibilitet. Dette er en utfordring for utviklere da det betyr at de først må finne plass til å bruke som en midlertidig leverandørpartisjon (på enheter som ikke allerede har en) og flytt deretter alle HAL-ene ut av systempartisjonen til denne nye leverandørpartisjonen, og lag deretter leverandørgrensesnittet selv i HIDL. Som alltid var utviklerne av XDA-fellesskapet opp til utfordringen, og XDA Senior Member abhishek987 har nettopp annonsert at han var i stand til å lykkes med alt det ovennevnte og dermed bringe full Project Treble-kompatibilitet til Xiaomi Redmi Note 4 (mido).
Project Treble på Xiaomi Redmi Note 4
Hvordan gjorde han det? Han brukte den "tilpassede" partisjonen på enheten for sin provisoriske leverandørpartisjon. Den tilpassede partisjonen inneholder vanligvis mye enhetsspesifikke ting fra MIUI, så det er i hovedsak bortkastet plass på en AOSP-bygning. Ved å bruke den ca. 830 MB ubrukte partisjonen flyttet han leverandørens HAL-er fra system til kunde uten å måtte partisjonere på nytt – som var en begrunnelse som OEM-er som Nokia og OnePlus brukte i sine uttalelser om hvorfor de ikke kom til å bringe diskantkompatibilitet til deres enheter.
Full Project Diskant-kompatibilitet på Xiaomi Redmi Note 4
Etter litt hardt arbeid med å få leverandørgrensesnittet til å fungere, klarte han å starte opp XDA Senior Member phhussonsin Android 8.1 Oreo GSI uten mye innsats. (Merk: phhusson fortalte meg at abhishek987 måtte endre ting for at det skulle fungere på grunn av mangel på en "versjonert VNDK." Å forklare det i detalj ville kreve en annen artikkel om Diskant, som jeg jobber med på!)
Hvis du vil installere denne LineageOS 15.1 ROMen på Snapdragon Redmi Note 4, vil du gjøre det grundig les abhishek987s kunngjøringsinnlegg siden det inneholder viktig informasjon om de nye blinkende instruksjonene.
Installer LineageOS 15.1 med full prosjektdiskantstøtte på Xiaomi Redmi Note 4 (Snapdragon)
Konklusjon
Dette er uten tvil en stor milepæl i diskant-relatert tilpasset ROM-utvikling. Når utvikleren legger ut enhetstrene sine, kan andre tilpassede ROM-utviklere basere ROM-en sin på nytt på dette fungerer – noe som betyr at du vil se mer enn bare LineageOS som er fullt diskantkompatibel på Redmi Note 4. Og nå som dette har vist seg mulig, vil vi garantert se flere utviklere prøve dette på andre enheter. Faktisk har jeg allerede sett XDA Senior Recognized Developer codeworkxforsøk å få full diskantkompatibilitet på OnePlus 5/5T.
Når det gjelder hva dette betyr fremover, har Redmi Note 4-brukere mye å være begeistret for. Takket være diskantstøtte, skal Redmi Note 4 ha mye, mye lettere å få Android P opp og kjøre når kildekoden er gjort tilgjengelig. Treble er ment å gjøre det slik at en enhet med for eksempel Android 8.1-leverandøren kan kjøre et Android P-system på toppen, men siden Android P ennå ikke er tilgjengelig, kan vi ikke teste den påstanden selv. Men når Android P kommer, vil vi være sikre på å prøve det ut og potensielt ta det neste store skrittet i tilpasset ROM-utvikling.
Hvis du er interessert i alt Project Treble, vennligst følg XDA-portalen gjennom vår Project Treble tag eller ved å bruke XDA Labs-appen. Vurder også å abonnere på vårt diskantaktiverte enhetsutviklingsforum for flere nyheter som dette.
Bli med i vårt diskantaktiverte enhetsutviklingsforum
Takk til XDA Members Shreesha. Murthy, MyNameIsRage, feherneoh og AbhishikH for å sende oss et tips!