En revolution inom anpassade ROM: Hur Project Treble gör portering av Android Oreo till ett 1-dagsjobb

click fraud protection

En utforskning av hur Project Treble revolutionerar anpassade ROM. Det tog mindre än 1 dag att porta Android Oreo till Huawei Mate 9.

XDA-forumen har varit den centrala samlingen av anpassad ROM-utveckling i flera år. Det är tack vare utvecklarnas hårda arbete på våra forum som många äldre Android-smarttelefoner hålls vid liv av anpassade ROM, ibland år efter att enheter övergavs av enhetstillverkaren. Även om de flesta tillverkare släpper upplåsningsmetoder för bootloader nuförtiden, har frekventa förseningar i kärnkällversioner kvävt anpassad ROM-utveckling på många smartphones. Det kan dock snart ändras, tack vare något som heter "Projekt Treble" som tillkännagavs nära lanseringen av Android Oreo. Tack vare Project Treble bör tiden det tar att porta en AOSP ROM till en enhet inte längre ta veckor eller månader – istället det borde ta bara dagar.

För de av er som har följt den anpassade ROM-scenen i flera år, kanske du redan är medveten om hur betydande den här nyheten är. XDA erkänd utvecklare

OldDroid kallade denna uppenbarelse en "genombrott" i anpassad AOSP ROM-utveckling. Tack vare Project Treble-stöd, till exempel, Jag kunde starta a nästan fullt fungerande Android 8.0 Oreo ROM på Huawei Mate 9—en enhet som hittills inte ens hade sett en enda AOSP Android Nougat ROM.

Vi kan snart se en revolution inom anpassad ROM-utveckling tack vare de initiala utvecklingsinsatserna på denna front av XDA Senior Member phhusson. Efter 20 timmars arbete med att undersöka, utveckla och felsöka med mig skapade phhusson en systembild som kan startas upp på flera enheter från olika tillverkare och med helt olika SoC. Till exempel, samma systembild som jag startade på min egen Huawei Mate 9 startar också på Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact och Essential Phone. Det är 3 olika OEM (Huawei/Honor, Sony och Essential) och 2 olika SoCs (HiSilicon Kirin 960 och Qualcomm Snapdragon 835) där denna enda systemavbildning framgångsrikt kan starta.

Det är möjligt att vi i framtiden kan se en enda systembild som kan fungera på dussintals olika Android-smarttelefoner, ungefär som hur Microsoft Windows kan köras på nästan vilken dator som helst hårdvara. För att uppmuntra till mer utveckling på denna front har vi öppnat upp ett nytt forum tillägnat Project Treble aktiverade enheter. Forumet är inriktat på utvecklare för närvarande, så vänligen avstå från att starta en ny tråd om du inte är intresserad av att bidra till utveckling. Om du vill hjälpa till att testa diskantkompatibla systembilder, lämna gärna kommentarer om befintliga trådar.

Gå med i Project Treble Development Forum

Med tanke på betydelsen av denna utveckling och ämnets komplexitet, tänkte jag att jag skulle närma mig den här artikeln lite annorlunda än de andra. Jag kommer att köra ner en punktlista som förklarar några vanliga frågor som folk kan ha samt pekar ut nyckelfakta om den senaste utvecklingen.


Vad är Project Treble?

Krediter: Google

Project Treble beskrivs oftast som ett försök från Google att modularisera Android OS-ramverket för att separera leverantörsspecifik kod. Låt oss bryta ner sakerna lite mer:

  • Den fullständiga uppdateringsprocessen för att få en ny Android-version till enheter är ett långt och komplext ämne, men Sony har gjort ett bra jobb med denna infografik som beskriver de grundläggande stegen.
  • "Säljaren" hänvisar vanligtvis till kiseltillverkare som Qualcomm, men kan också hänvisa till tillverkaren av annan proprietär hårdvara som finns i en enhet. "Enhetstillverkaren" eller "OEM" behöver vanligtvis vänta på att leverantören ska uppdatera sin kod så att den proprietära hårdvaran fungerar med Android OS-ramverket i en nyare version av Android.
  • Men vad som händer med Project Treble är att Google kräver att någon leverantörsspecifik kod separeras från Android OS-ramverket och istället leva i sin egen leverantörsimplementering. Vanligtvis betyder detta att det nu finns en separat /leverantörspartition på diskantaktiverade smartphones som innehåller ett gäng HALs (Hardware Abstraction Layers).
  • Dessutom måste leverantörer implementera kod som låter Android OS-ramverket kommunicera med HALs på ett standardiserat sätt. Detta görs via HIDL (HAL Interface Definition Language). Med detta på plats kan en OEM arbeta med en Android-uppdatering utan att behöva vänta på att leverantörer ska uppdatera sina HAL. Teoretiskt sett detta bör påskynda hela Android-uppdateringsprocessen eftersom leverantörer kan uppdatera sin kod när som helst via Play Butik, till exempel.
  • För att hjälpa dig förstå vad en HAL är och hur den relaterar till Android, låt oss överväga en analogi. Föreställ dig en bil. Ratten och bromsarna är HAL medan föraren är Android OS-ramverket. Föraren (Android) flyttar ratten och trycker på bromsarna (HAL) för att kontrollera bilens rörelse (hårdvaran).
  • Föreställ dig nu om vi levde i en värld där varje biltillverkare bestämde sig för att designa sina rattar eller ordna om sina bromsar på ett helt annat sätt. Om du sätter en förare i en ny bil kan de förväxlas med hur man initialt ska hantera fordonet. Men tack vare standarder bör varje förare vara bekant med hur man använder en ratt och bromsar på nästan alla bilar. Vidare lär körskolan alla förare det rätta sättet att köra ett fordon. I denna analogi är fordonsstandarderna Project Treble och körskolan är HIDL.

Android Oreo på Honor 8 Pro. Tack: XDA Recognized Developer OldDroid

Vilka enheter kommer att få Project Treble-stöd?

  • Alla enheter som lanseras med Android 8.0 Oreo eller ovanför måste stödja fullt ut Projekt Treble.
  • Alla enheter som uppgradera till Android 8.0 Oreo är inte nödvändig för att fullt ut stödja Project Treble.
  • De enheter som har uppdateringar (officiella utgåvor eller stängda betaversioner) till Android 8.0 Oreo och som stöder Treble inkluderar följande:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Heder 9
    • Viktig telefon
  • Det är osannolikt att några enheter inofficiellt får Project Treble-stöd via anpassad ROM-utveckling. HAL är trots allt inte öppen källkod.

Varför är Project Treble så viktigt för AOSP ROM?

  • För att säkerställa att leverantörskoden är korrekt separerad från Android OS-ramverket på det sätt som Project Diskant kräver, Google har skapat en Vendor Test Suite (VTS) som enheter måste klara för att bli certifierade av Google. Google-certifiering är viktig eftersom en enhet inte får levereras med appar och tjänster från Google Play förinstallerade utan den.
  • Ett av kraven i VTS är att en diskant-aktiverad enhet måste kunna starta a rå, generisk AOSP-konstruktion. På grund av detta krav måste OEM-tillverkare skicka enheter som kan starta AOSP utan problem.
  • Även om den exakta ROM som Google använder och delar med OEMs för VTS inte är offentlig, kunde XDA Senior Member Phhusson ta reda på hur man återskapar detta ROM från källan.
  • Således har vi nu en fungerande AOSP ROM dvs garanterat att vara startbar på Project Treble-enheter. Det mesta av arbetet har redan utförts av OEM: er och leverantörer, så oberoende utvecklare på våra forum behöver inte längre bråka med kärnans källkod eller HAL-hackeri. I teorin borde en AOSP ROM "bara fungera" vilket vi har visat vara i princip sant på de enheter vi har testat.
  • För närvarande är kompatibilitet inte 100% med alla enheter kan systemavbildningen startas på. Det finns också några tävlingsförhållanden som måste redas ut. Däremot Project Treble minskar avsevärt mängden utvecklingsarbete som behövs för att porta AOSP ROM till icke-Google-enheter. Med samarbete med fler utvecklare i vår Project Treble forum, förväntar vi oss att se utvecklingen av Treble-enheter gå långt.

Hur provar jag Android Oreo på min enhet nu?

Om du är riktigt äventyrlig och vill prova en av dessa Project Treble-byggen på din telefon just nu, har phhusson systembilderna du behöver ladda ner på hans tråd i vårt Project Treble-forum. Det finns dock några saker du måste tänka på:

  • Du kommer att behöva en upplåst bootloader och behöver vara bekant med att använda fastboot-kommandon för att flasha bilder.
  • Din enhet måste redan kör Android Oreo. Dessa systembilder "uppgraderar" inte din enhet. Om du kör en av Huawei/Honor-enheterna som nämns i den här artikeln kan du titta på våra forum för en guide eller använda FunkyHuawei.club-tjänst för att inofficiellt uppdatera din telefon till en av de stängda Oreo betaversionerna.
  • Du måste vara villig förlora data eller återuppta fabriksbilder medan du testar. Det bästa sättet att säkerställa att denna startar är att rensa användardatapartitionen, vilket inkluderar att torka allt innehåll på din interna lagring. Naturligtvis kan du göra säkerhetskopior och överföra dem när du är klar.
  • Dessa AOSP-byggen är för närvarandeinte avsedd att användas som dagliga förare. De är extremt nakna och erbjuder inte många funktioner eller appar förinstallerade. Du måste själv flasha Google-appar. Du måste ange din operatörs APN-inställningar manuellt för att mobildata ska fungera (om det fungerar). Saker och ting kommer att vara buggiga tills mer utvecklingsinsatser görs.

Slutsats

Google skojade inte när de sa att Project Treble kanske var en av de största förändringarna någonsin i hur Android fungerar. Vi kan själva se, just här och nu, hur stor inverkan det kan ha. Diskant kan vara den push utvecklingsgemenskapen behöver för att vitalisera den anpassade ROM-scenen. Det tog mindre än 1 dag att starta upp en nästan fullt fungerande AOSP ROM på Huawei Mate 9. Jag är spännande att se det arbete som kommer att göras för andra diskantaktiverade enheter.