Vad Project Treble betyder för framtida anpassad ROM-utveckling

Project Treble kommer nu med Android Oreo-enheter. Idag gör vi en genomgång av vad Project Treble betyder för framtida anpassad ROM-utveckling.

Här på XDA har vi tidigare pratat om Projekt Treble, den största förändringen på låg nivå som introducerades till Android-basen sedan den första Android-betan släpptes för nästan 10 år sedan, och hur du kan berätta om din enhet har det. För de som fortfarande inte är medvetna om vad Project Treble är, modulariserar det det nedre lagret av Android genom att separera leverantören implementering (proprietära blobbar och mjukvara, CPU- och GPU-drivrutiner, et cetera) från Android-huvudramverket och systemet. Detta resulterar i att systemuppdateringar går snabbare genom att modularisera hårdvaruabstraktionslagret (HAL) och separera det från resten av Android OS, och genom att eliminera OEM-beroendet av långsamma drivrutinsuppdateringar från kiseltillverkare. Slutmålet är att förhoppningsvis förlänga den 24-månaders stora stödperioden för programuppdateringar som för närvarande utlovas av de flesta enhetstillverkare.

Detta bör hjälpa till att ge Android-telefoner möjligheten att ta emot Apple-liknande uppdateringar, åtminstone på flaggskeppstelefoner. Medan det genomsnittliga Android-flaggskeppet får två stora uppdateringar under en 24-månadersperiod, får iPhone-enheter minst fyra år med iOS-uppdateringar, inklusive mindre. På diskantstödda Android-telefoner kan detta så småningom bli verklighet, förutsatt att telefontillverkaren är nere för att uppdatera sin telefon. De som vill hålla sina enheter uppdaterade under en liknande tidsram har inget annat alternativ än att ta till anpassade ROM.

Som tur är borde Project Treble också göra gräset grönare för anpassade ROM-användare. I själva verket har den potential att förändra den anpassade ROM-utvecklingsscenen helt – och för gott.


Hur kan anpassade ROM dra nytta av Treble?

Anledningen till att inofficiella Android Oreo-portar långsamt arbetas på snarare än att bara något utvecklare kan kompilera, starta upp och köra är enkel. För att få upp en ny Android-version på en befintlig enhet, kärnan och enhetsträdet måste omarbetas kraftigt för att få en befintlig Android-telefon att fungera med en nyare Android släpp. Det beror på att den nuvarande leverantörsimplementeringen, inklusive alla proprietära binära blobbar, är gjord för att fungera med en enda Android-version, och måste därför omarbetas och portas till den nya Android-versionen för att enheten ska fungera ordentligt.

Nästan alla komponenter inuti telefonen använder en oberoende, proprietär blob och måste lappas och bearbetas på självständigt så att den nyare programvaran kan använda den, och se till att de andra inte går sönder under processen. Detta är verkligen en tidskrävande uppgift, och den främsta anledningen till att de flesta stabil anpassade ROM-skivor (som LineageOS-veckotidningar eller andra, officiellt stödda ROM-skivor) visas inte förrän 2-3 månader efter att den slutliga Android-versionen släpps till AOSP. Alla dessa ansträngningar innebär också att det resulterande ROM-minnet bara kommer att fungera på en enhet eller, i bästa fall, en handfull enheter med identisk eller liknande specifikation.

Detta verkar förändras med Project Treble, enligt Ron Amadeo från ArsTechnica och oberoende bekräftat av anpassad ROM-utvecklare SultanXDA.

Malchev säger att Treble standardiserar Android-hårdvarustöd till en sådan grad att generiska Android-byggen kompilerade från AOSP kan starta och köras på varje Diskantapparat. Faktum är att dessa "råa AOSP"-byggen kommer att användas för en del av CTS-testerna som Google kräver att alla Android OEM-tillverkare klarar för att licensiera Google-apparna – det är inte bara det att saker och ting skall jobb, de är nödvändig att jobba.

För att driva den här punkten hem betyder det att på grund av hur det nedre lagret av Android modulariserades, kommer alla diskantenheter på marknaden att vara kan starta upp ett generiskt lager, AOSP Android build. Detta tar bort det mesta av besväret med att porta anpassade ROM till en äldre enhet eftersom en enda generisk Android-version kan köras på många enheter. Detta flyttar Android-enheter mycket närmare något som en persondator, där du kan starta upp den senaste, avancerade Windows 10-versionen eller vilken Linux-distribution som helst på en 10-12 år gammal dator.

Du kommer inte att kunna starta upp felfritt fungerande generisk Android 9.0 bygger på din Treble-enhet ännu, dock - enhetsträd och kärnor kommer fortfarande att behöva bearbetas. Det är fortfarande en bra början: tack vare de modulariserade HAL: erna, arbetsbördan för att ta fram nästa Android version bör reduceras kraftigt, och vi kunde se stabila 9.0-byggen inom några dagar/veckor istället för månader. Vi bör ha i åtanke att Project Treble, medan det nu rullas ut, fortfarande är ett pågående arbete eftersom det fortfarande tar emot ändringar i AOSP, och leverantörslagret kan så småningom standardiseras till den punkt att installera en ny Android-version blir detsamma som att installera Windows på en dator.

Detta är ett enormt tekniskt framsteg, och det har potential att avsevärt förbättra AOSP-baserad anpassad ROM-utveckling på våra forum. Men då gäller detta bara enheter med Project Treble, och för närvarande är de enda tillgängliga Treble-telefonerna Google Pixel, Google Pixel XL, Sony Xperia XZ1 och XZ1 Compact. Vad kommer att hända med befintliga pre-Oreo-telefoner?


Kan en anpassad ROM ge diskant till en befintlig telefon?

Vi har redan haft en hel katalog av Android Oreo ROMs för befintliga telefoner, inklusive Nexus, OnePlus, Xiaomi och Motorola-telefoner. Men skulle en av dessa ROM kunna ge Project Treble till din telefon? Svaret: det är inte troligt.

Ändringarna som gjorts på lågnivåplattformen för Android är riktigt komplicerade, och egentligen inte något du bara kan få arbeta på en vanlig anpassad ROM. Det är inte något som pajkontroller eller enhetsgester, utan en total omdesign av leverantörens implementering. Detta är något som kräver att Qualcomm och andra kiseltillverkare är med ombord. Google är för närvarande arbetar med olika OEM-tillverkare för att få Treble till vissa befintliga flaggskeppstelefoner, men även då är vi inte säkra Vad OEM-tillverkare arbetar på det eftersom listan inte avslöjades. Vi har dock sett några diskantrelaterade commits flyta runt i LineageOS Gerrit, så det är säkert att säga att det verkligen görs ett försök.

I slutändan är det för tidigt att säga. Vi har sett några fantastiska utvecklingsprestationer från våra forum tidigare, inklusive fantastiska saker som universella systemlösa gränssnitt eller eMMC-lagringsuppgraderingar, så vem vet? Någon kanske på något sätt får Project Treble att fungera på en äldre telefon.

Men vi har bara haft chansen att gräva igenom Android Oreo-källa i ungefär 2 veckor så som vi sa, det är fortfarande för tidigt att säga. Vi är dock fortfarande glada över möjligheterna och vi kommer att hålla dig informerad om framtida diskantrelaterade utvecklingar på XDA-portalen, som nås bäst via XDA Labs-appen!

Tack vare Paranoid Android-teammedlem /u/evan1123 för att reda ut ett misstag i artikeln!