O revoluție în ROM-urile personalizate: cum Project Treble face ca portarea Android Oreo să fie o muncă de o zi

click fraud protection

O explorare a modului în care Project Treble revoluționează ROM-urile personalizate. A durat mai puțin de o zi pentru a porta Android Oreo pe Huawei Mate 9.

Forumurile XDA au fost reuniunea centrală a dezvoltării ROM personalizate de ani de zile. Datorită muncii asidue a dezvoltatorilor de pe forumurile noastre, multe smartphone-uri Android mai vechi sunt menținute în viață prin ROMS personalizate uneori la ani după ce dispozitivele au fost abandonate de producătorul dispozitivului. Deși majoritatea producătorilor lansează metode de deblocare a bootloader-ului în zilele noastre, întârzierile frecvente ale lansărilor surselor kernelului au înăbușit dezvoltarea ROM personalizată pe multe smartphone-uri. Acest lucru s-ar putea schimba în curând, totuși, datorită a ceva numit "Proiect Treble" care a fost anunțat în apropierea lansării Android Oreo. Datorită Project Treble, timpul necesar pentru a porta un ROM AOSP pe un dispozitiv nu ar trebui să mai dureze săptămâni sau luni, în schimb ar trebui să dureze doar zile.

Pentru cei dintre voi care au urmărit scena ROM personalizată de ani de zile, s-ar putea să fiți deja conștienți de cât de semnificativă este această știre. Dezvoltator recunoscut XDA OldDroid a numit această revelație „descoperire" în dezvoltarea personalizată AOSP ROM. Datorită suportului Project Treble, de exemplu, Am putut să pornesc A ROM Android 8.0 Oreo aproape complet funcțional pe Huawei Mate 9—un dispozitiv care până acum nu văzuse nici măcar un singur AOSP Android Nougat ROM.

S-ar putea să asistăm în curând la o revoluție în dezvoltarea ROM personalizată datorită eforturilor inițiale de dezvoltare pe acest front de către membrul senior XDA phhusson. După 20 de ore de muncă de cercetare, dezvoltare și depanare cu mine, phhusson a creat o imagine de sistem care poate fi pornit pe mai multe dispozitive de la diferiți producători și cu SoC-uri complet diferite. De exemplu, aceeași imagine de sistem pe care am pornit-o pe propriul meu Huawei Mate 9 pornește și pe Honor 8 Pro, Honor 9, Sony Xperia XZ1 Compact și Essential Phone. Asta e 3 OEM diferiți (Huawei/Honor, Sony și Essential) și 2 SoC-uri diferite (HiSilicon Kirin 960 și Qualcomm Snapdragon 835) unde această imagine de sistem unică poate porni cu succes.

Este posibil ca, în viitor, să vedem o singură imagine de sistem care poate funcționa pe zeci de diferite smartphone-uri Android, la fel ca Microsoft Windows poate rula pe aproape orice computer hardware. Pentru a încuraja mai multă dezvoltare pe acest front, am deschis a nou forum dedicat Proiectului Treble dispozitive activate. Forumul este orientat către dezvoltatori în acest moment, așa că vă rugăm să vă abțineți de la a începe un thread nou, cu excepția cazului în care sunteți interesat să contribui la dezvoltare. Dacă doriți să ajutați la testarea imaginilor de sistem compatibile cu Treble, atunci nu ezitați să lăsați comentarii la firele existente.

Alăturați-vă Forumului de dezvoltare a proiectului Treble

Având în vedere semnificația acestei dezvoltări și complexitatea subiectului, m-am gândit să abordez acest articol puțin diferit față de celelalte. Voi derula o listă de puncte care explică câteva întrebări frecvente pe care le-ar putea avea oamenii, precum și să subliniez fapte cheie cu privire la această nouă dezvoltare.


Ce este Project Treble?

Credite: Google

Proiectul Treble este cel mai frecvent descris ca o încercare a Google de a modulariza cadrul de operare Android pentru a separa codul specific furnizorului. Să descompunem lucrurile puțin mai mult:

  • Procesul complet de actualizare pentru a aduce o nouă versiune Android pe dispozitive este un subiect lung și complex, dar Sony a făcut o treabă grozavă cu acest infografic care conturează etapele de bază.
  • „Vânzătorul” se referă de obicei la producători de siliciu, cum ar fi Qualcomm, dar se poate referi și la producătorul oricărui alt hardware proprietar găsit într-un dispozitiv. „Device maker” sau „OEM” trebuie de obicei să aștepte ca furnizorul să-și actualizeze codul, astfel încât hardware-ul proprietar să funcționeze cu cadrul sistemului de operare Android într-o versiune mai nouă de Android.
  • Cu toate acestea, ceea ce se întâmplă cu Project Treble este că Google cere asta codul specific furnizorului să fie separat de cadrul sistemului de operare Android și în schimb trăiesc în implementarea propriei furnizori. De obicei, aceasta înseamnă că acum există o partiție separată /furnizor pe smartphone-urile compatibile cu Treble, care conține o grămadă de HAL-uri (Hardware Abstraction Layers).
  • În plus, vânzătorii trebuie să implementeze cod care să permită cadrului de operare Android să comunice cu HAL într-un mod standardizat. Acest lucru se face prin HIDL (HAL Interface Definition Language). Cu acest lucru, un OEM poate lucra la o actualizare Android fără a fi nevoit să aștepte ca furnizorii să-și actualizeze HAL-urile. Teoretic, asta ar trebui să accelereze întregul proces de actualizare Android deoarece furnizorii își pot actualiza codul în orice moment prin Magazinul Play, de exemplu.
  • Pentru a ajuta la înțelegerea ce este un HAL și cum se leagă cu Android, să luăm în considerare o analogie. Imaginați-vă o mașină. Volanul și frânele sunt HAL, în timp ce șoferul este sistemul de operare Android. Șoferul (Android) mișcă volanul și apasă pe frânele (HAL) pentru a controla mișcarea mașinii (hardware).
  • Acum imaginați-vă dacă am trăi într-o lume în care fiecare producător de mașini a decis să-și proiecteze volanele sau să-și rearanjeze frânele într-un mod complet diferit. Dacă puneți un șofer într-o mașină nouă, acesta poate fi confundat cu modul inițial de a manipula vehiculul. Dar, datorită standardelor, fiecare șofer ar trebui să fie familiarizat cu modul de operare a volanului și a frânelor pe aproape orice mașină. În plus, școala de șoferi îi învață pe toți șoferii modul corect de a conduce un vehicul. În această analogie, standardele vehiculelor sunt Project Treble și școala de șoferi este HIDL.

Android Oreo pe Honor 8 Pro. Credite: Dezvoltator recunoscut XDA OldDroid

Ce dispozitive vor primi suport pentru Project Treble?

  • Toate dispozitivele care lansați cu Android 8.0 Oreo sau deasupra trebuie să sprijine pe deplin Proiect Treble.
  • Toate dispozitivele care upgrade la Android 8.0 Oreo sunt nu este necesar pentru a sprijini pe deplin Proiectul Treble.
  • Dispozitivele care au actualizări (lansări oficiale sau beta închise) la Android 8.0 Oreo și acceptă Treble includ următoarele:
    • Google Pixel
    • Google Pixel XL
    • Huawei Mate 9
    • Honor 8 Pro
    • Onoare 9
    • Telefon esential
  • Este puțin probabil ca orice dispozitiv să primească în mod neoficial suport pentru Project Treble prin dezvoltarea ROM personalizată. La urma urmei, HAL-urile nu sunt open source.

De ce este Project Treble atât de important pentru ROM-urile AOSP?

  • Pentru a vă asigura că codul furnizorului este separat corespunzător de cadrul sistemului de operare Android în modul în care proiectul Treble necesită, Google a configurat un Vendor Test Suite (VTS) pe care dispozitivele trebuie să o treacă pentru a fi certificate de către Google. Certificarea Google este importantă, deoarece fără ea un dispozitiv nu are voie să fie livrat cu aplicațiile și serviciile Google Play preinstalate.
  • Una dintre cerințele din VTS este că un dispozitiv compatibil Treble trebuie să poată porni A build AOSP brut, generic. Din cauza acestei cerințe, OEM-urile trebuie să livreze dispozitive care pot porni AOSP fără probleme.
  • Deși exact ROM-ul pe care Google îl folosește și îl partajează cu OEM pentru VTS nu este public, membrul senior XDA phhusson a reușit să-și dea seama cum să recreați acest ROM din sursă.
  • Astfel, acum avem un ROM AOSP funcțional, adică garantat a fi bootabil pe dispozitivele Project Treble. Cea mai mare parte a muncii a fost deja realizată de OEM și furnizori, așa că nu mai trebuie să o facă dezvoltatorii independenți de pe forumurile noastre încurcă-te cu codul sursă al nucleului sau cu hackerul HAL. În teorie, un ROM AOSP ar trebui să „funcționeze”, ceea ce am demonstrat că este practic adevărat pe dispozitivele pe care le-am testat.
  • Momentan, compatibilitatea este nu 100% cu toate dispozitivele, imaginea sistemului poate fi pornită. Există și unii condiţiile de cursă care trebuie descoperite. Cu toate acestea, Project Treble reduce semnificativ cantitatea de muncă de dezvoltare care este necesar pentru a porta ROM-urile AOSP pe dispozitive non-Google. Cu colaborarea mai multor dezvoltatori din cadrul nostru Forumul Project Treble, ne așteptăm să vedem dezvoltarea dispozitivelor Treble să meargă un drum lung.

Cum încerc acum Android Oreo pe dispozitivul meu?

Dacă sunteți cu adevărat aventuros și doriți să încercați una dintre aceste versiuni Project Treble pe telefonul dvs. chiar acum, phhusson are imaginile de sistem pe care trebuie să le descărcați pe firul său pe forumul nostru Project Treble. Există însă câteva lucruri de care trebuie să ții cont:

  • Veți avea nevoie de un bootloader deblocat și trebuie să fie familiarizat cu utilizarea comenzi fastboot pentru a flash imagini.
  • Dispozitivul dvs. trebuie rulează deja Android Oreo. Aceste imagini de sistem nu vă „actualizează” dispozitivul. Dacă utilizați unul dintre dispozitivele Huawei/Honor menționate în acest articol, puteți căuta un ghid pe forumurile noastre sau puteți utiliza Serviciul FunkyHuawei.club pentru a vă actualiza neoficial telefonul la una dintre versiunile Oreo beta închise.
  • Trebuie să fii dispus pierdeți date sau reflashați imaginile din fabrică în timpul testării. Cel mai bun mod de a vă asigura că acest boot este să ștergeți partiția userdata, care include ștergerea întregului conținut de pe stocarea internă. Desigur, puteți face copii de rezervă și le puteți transfera după ce ați terminat.
  • Aceste versiuni AOSP sunt în prezentnu este destinat utilizării ca șoferi zilnic. Sunt extrem de simple și nu oferă multe funcții sau aplicații preinstalate. Va trebui să flashiți singur aplicațiile Google. Va trebui să introduceți manual setările APN ale operatorului pentru ca datele mobile să funcționeze (dacă funcționează). Lucrurile vor avea probleme până când se vor depune mai multe eforturi de dezvoltare.

Concluzie

Google nu glumea când a spus că Project Treble a fost poate una dintre cele mai mari schimbări aduse vreodată la modul în care funcționează Android. Putem vedea pentru noi înșine, chiar aici și acum, cât de mult impact poate avea. Treble ar putea fi impulsul de care comunitatea de dezvoltare are nevoie pentru a revitaliza scena ROM personalizată. A durat mai puțin de 1 zi pentru a porni un ROM AOSP aproape complet funcțional pe Huawei Mate 9. Sunt încântat să văd munca care va fi făcută pentru alte dispozitive compatibile cu Treble.