Exclusiv: Android Oreo va primi suport pentru teme fără rădăcină, la nivelul întregului sistem în decurs de o săptămână

click fraud protection

Cea mai recentă versiune Android Oreo de la Google are deja încorporat suport pentru teme native și, datorită motorului de teme Substratum, vine în 1 săptămână.

Actualizare 13.09.17: Complementul Andromeda pentru Substratum, care permite teme personalizate pe dispozitivele Android Oreo nerootate, a fost lansat. Consultați acest articol pentru mai multe detalii. Articolul original va rămâne mai jos.

Cu fiecare noua versiune din sistemul de operare Android de la Google, există mai puține motive pentru majoritatea utilizatorilor root-ul dispozitivelor lor. Cu toate acestea, printre utilizatorii rămași care încă aleg să își rooteze dispozitivele, unul dintre motivele cel mai frecvent invocate este activarea suportului temelor la nivel de sistem. De obicei, acest lucru este gestionat prin intermediul substratului cadru tematic încă de la dispariția nefericită a motorului tematic CyanogenMod. De-a lungul timpului, echipa din spatele Substratum a muncit din greu pentru a include suport pentru mai multe dispozitive prin încorporarea suportului Substratum

la nivel de ROM astfel încât să poată rula fără acces root. Și acum, echipa a dus proiectul dincolo de ceea ce oricare dintre noi și-ar fi putut imagina aducând suport complet pentru teme la nivel de sistem fără root pentru orice dispozitiv Android Oreo.

Se afișează capturi de ecran Tema neagră Android Oreo a lui Sai rulează pe un Google Pixel nerootat pe Android Oreo 8.0.0

Pentru a vă face o idee despre cum incredibil de dezvoltare aceasta este, considerați că următoarele vor fi acum posibile fără rădăcină:

  • Tematica Android Framework și Android System UI, precum și orice alte aplicații de sistem. (Mulți dintre voi o veți face dragoste având o temă întunecată disponibilă, în sfârșit!)
  • Tematica de orice aplicație terță parte
  • Fonturi personalizate pentru aplicații terțe
  • Multe alte modificări, cum ar fi o bară de stare central-ceas mod

Lista continuă! Substratul are o listă extinsă de teme disponibile care susțin cadrul (toate sunt acceptate în această nouă versiune viitoare a Substratum pentru Android 8.0), o comunitate activă pe Google+ și ale noastre forumuri, și având în vedere această dezvoltare, sprijinul este obligat să crească!


Android Oreo și serviciul Overlay Manager

O mostră de câteva teme de substrat.

De când s-a încorporat Google suport nativ pentru Runtime Resource Overlay de la Sony motor de temă (RRO) în Android 6.0 Marshmallow, noi tot asteptam pentru ca Google să ofere o interfață încorporată, precum și API-uri publice pe care dezvoltatorii le pot folosi pentru a tema atât aplicațiile cadru de sistem, cât și aplicațiile terțe. Din păcate, lansarea Android Nougat a adus puține noutăți pe masă, de când RRO de la Sony a fost adăugat la Android Open Source Project (AOSP).

Dar datorită muncii sârguincioase a inginerilor de la Sony Mobile, motorul tematic RRO a evoluat în cele din urmă în ceea ce este cunoscut sub numele de Overlay Manager Service (OMS), pe care se bazează Substratum. Sony a fost pionierul în ceea ce privește o soluție de tematică open source, dar din moment ce motorul lor de teme OMS a fost acceptat în AOSP în jurul la momentul lansării finale a Android 7.1, singura modalitate prin care utilizatorii de dispozitive non-Sony pot profita de motorul de teme este printr-o personalizare ROM.

Acest lucru s-a schimbat în Android 8.0. Când Substratum a fost lansat inițial pentru primele câteva previzualizări pentru dezvoltatori Android O, dezvoltatorii Substratum și-au dat seama că sprijin deplin pentru Sony OMS era disponibil. Aceasta înseamnă că un utilizator ar putea instala o temă existentă acceptată de Substratum și ar funcționa pe deplin pe dispozitivele Android Oreo fără a necesita patch-uri ROM. Totuși, a existat o singură problemă: procesul de activare a unei teme Substratum instalată necesita acces rădăcină, sau așa credeau ei.


Suport temei fără rădăcină, la nivelul întregului sistem pentru Android Oreo

În timp ce dezvoltatorii își pun munca în liniște pe problema obținerii utilizatorilor Android Oreo a unei soluții tematice complet fără rădăcină pe spate arzător, am căutat independent în fiecare previzualizare pentru dezvoltatori Android O și am găsit dovezi ale motorului de teme în joc, deşi l-am identificat greșit ca fiind bazat pe RRO mai vechi decât pe OMS mai nou de la Sony. Google chiar și-a tachinat comunitatea despre suportul temelor într-un AMA centrat pe dezvoltator pe Reddit, declarând că mai sunt câteva obstacole de depășit înainte ca o soluție completă de tematică să poată fi integrată în Android.

Nemulțumiți de acest răspuns, am vrut să vedem cât de departe a mers Google în obținerea de suport pentru teme pentru Android Oreo. Pentru a face asta, am săpat în codul sursă al Android 8.0 odată ce versiunea finală a scăzut și a descoperit existența unor comenzi shell ADB care ar putea activa sau dezactiva suprapunerile, pe care scriitorul XDA Adam Conway a acoperit ieri.

Dezactivează suprapunerea implicită

Inițial, nu am fost prea impresionat de descoperire, deoarece, din câte știam la acea vreme, era inutil din punct de vedere funcțional, deoarece eu și colegii mei aveam impresia că instalarea o temă încă mai necesita acces rădăcină, deoarece fișierele cu tema ar trebui mutate într-un folder care este inaccesibil spațiului utilizator (în /system/vendor/overlay, care este modul în care RRO funcţionat). Nicholas Chum însuși, unul dintre dezvoltatorii principali din spatele Substratum, a comentat la postarea noastră că era conștient de existența acestor comenzi de ceva timp și l-a folosit deja pentru versiunile Android O.

O persoană, totuși, a văzut o oportunitate apărută după ce am publicat articolul nostru ieri. XDA este foarte propriu Jeff Corcoran, dezvoltatorul din spatele nostru intern Aplicația XDA Labs, și-a dat seama că există o posibilă soluție pentru a obține interfața nativă a liniei de comandă a Android Oreo pentru ca OMS să funcționeze fără root. A implicat o metodă care a fost utilizată de Heliu, soluția populară de backup non-root și, mai recent, alternativă Greenify open-source cunoscută ca Brevent.

Privilegii crescute printr-un script

De obicei, "suprapunere cmd" Comenzile pe care Google le-a adăugat la versiunea Oreo pot fi rulate fie printr-un dispozitiv cu privilegii root, fie printr-un dispozitiv legat de un computer care invocă shell-ul Android Debug Bridge (ADB). O mână de dezvoltatori inteligenți, cum ar fi dezvoltatorii Helium și Brevent, de-a lungul anilor și-au dat seama cum să ridici, în esență, privilegiile unei aplicații care rulează pe telefon pentru a se potrivi cu cele ale ADB coajă. Procedând astfel, aplicația poate trimite comenzi pe care de obicei nu le-a putut din cauza permisiunilor restricționate. În cazul Substratum, asta înseamnă aplicația se poate instala apoi activa sau dezactiva temele Substratum fără root.

Această realizare a fost o major descoperire care a fost descoperită abia ieri seară. În decurs de câteva ore, Nicholas (cu ajutorul lui Jeff) a reușit să creeze o versiune alfa rapidă a unui manager de teme Substratum fără rădăcină pentru dispozitivele Android Oreo. Și funcționează - dar cu câteva avertismente.

Avertismente ale suportului de substrat fără rădăcini

Procesul necesar pentru a acorda privilegii ridicate de shell Substratum ADB va necesita utilizarea unui foarte simplu si usor aplicație desktop (sau doar o comandă shell ADB dacă știi ce faci). Odată acordat, Substratum va funcționa așa cum v-ați aștepta, fiind capabil să gestioneze toate temele dvs. Substratum instalate. Toate temele pe care le instalați vor rămâne instalate până când alegeți să-l dezinstalați din nou prin Substratum.

Cu toate acestea, privilegiile pe care le acordă Substratum sunt trecatoare, deoarece acestea se pierd atunci când utilizatorul efectuează o repornire completă (deși, din fericire, repornirile soft ale interfeței de utilizare a sistemului nu pierd privilegiul). Aceasta înseamnă că va trebui să rulați din nou programul desktop dacă ați repornit telefonul și doriți să utilizați Substratum pentru a adăuga, elimina sau modifica o temă. Vreau să repet din nou că orice teme pe care le instalați vor rămâne instalate chiar dacă reporniți, asta înseamnă că dacă doriți să schimbați doar câteva teme doar ocazional, aceasta ar trebui să fie perfectă pentru dvs. De asemenea, ar trebui să puteți schimba temele din meniul Setări, dupa cum Opțiunea „Temă” a Previzualizării dezvoltatorului sub Setări afișare, apoi recunoaște temele instalate și vă permite să comutați între ele

În cele din urmă, ultimul lucru pe care trebuie să-l menționez este ceva care pare evident odată ce te gândești la asta, dar în entuziasmul tău de a auzi știri s-ar putea să fi uitat. Dispozitivul dvs. este încă nerootat. Asta înseamnă că nu poți atinge sau modifica niciun fișier care necesită absolut acces root pentru editare, chiar dacă tema Substratum pe care ai instalat-o a promis că va schimba ceva. Ne pare rău, dar, din păcate, asta înseamnă că nu puteți aplica o modificare a fontului la nivel de sistem aduce înapoi emoji-urile blob, deși așa cum sa menționat la început, acesta este este posibil ca o temă Substratum să modifice fonturile aplicațiilor individuale.

Necesitatea substratului

Să scoatem din drum un detaliu important acum. Când vine asta? După cum menționează titlul, prima disponibilitate publică a substratului fără rădăcină pentru dispozitive Android 8.0, cum ar fi Google Nexus 5X, Google Nexus 6P, Google Pixel și Google Pixel XL ar trebui să fie in decurs de 1 saptamana. Asta e nu o garantie prin orice mijloace, deoarece lucrurile se pot schimba în procesul de dezvoltare, ceea ce poate necesita investiții suplimentare de timp, dar din moment ce OMS este deja pe deplin suportat în AOSP, tot ceea ce lucrează acum echipa Substratum este interfața dintre aplicația Substratum și unrooted dispozitive.

Următorul: va fi gratuit? Nu. Substratul pentru dispozitivele Android Oreo nerootate va fi a cerere plătită. Nu vă pot spune cât va costa, deoarece Nicholas nu a decis încă un preț, dar fiți sigur că prețul va fi corect având în vedere valoarea a ceea ce veți primi. Până în acest moment, Substratum a fost disponibil gratuit pentru multe dispozitive, așa că luați în considerare sprijinirea acestui tip de dezvoltare prin sprijinirea mai întâi Team Substratum. Puteți fie să așteptați ca Google să lanseze în cele din urmă acea temă întunecată pe care v-ați dorit-o întotdeauna (ha, bine unul), sau puteți arunca câțiva bănuți pentru a sprijini dezvoltarea independentă pe care mulți o iau pentru acordat.

Încă nu ești convins de valoarea sa? Puteți încerca instalarea temelor Substratum pe propriul dispozitiv 8.0 nerootat. De fapt, exact asta am făcut mai sus. Desigur, am avut un pic de ajutor din partea lui Nicholas pentru a face acest lucru. Dacă doriți să instalați o temă Substratum existentă din Magazinul Google Play, iată pașii generali:

  1. Descărcați și instalați fișierul APK pe dispozitivul dvs.
  2. Extrageți conținutul și compilați fiecare suprapunere într-un fișier APK individual pentru fiecare aplicație pentru care doriți să fie tematică
  3. Instalați fiecare fișier APK suprapus individual pe care l-ați compilat manual la pasul #2
  4. Pentru fiecare APK suprapus pe care îl instalați, rulați următoarea comandă pentru a-l activa: cmd overlay enable
  5. Dacă doriți să modificați prioritatea suprapunerilor, utilizați: cmd overlay set-priority PARENT|lowest|highest
  6. Listați toate suprapunerile instalate cu: cmd overlay list
  7. Eliminați toate suprapunerile pe care nu le doriți cu: cmd overlay disable

Dacă chiar doriți să utilizați linia de comandă pentru a gestiona teme, fiți invitatul nostru! Personal, am fost blocat să trec de pasul #2. Substratul nu folosește o metodă ascunsă pe care nu o poți găsi singur, dar o face departe mai ușor de gestionat pentru tine. Când este posibil să faci ceva manual, dar o aplicație o poate face pentru mine mult mai ușor, tind să las aplicația să-și facă treaba. Dar asta depinde de tine.

Personal, sunt foarte, foarte entuziasmat pentru a vedea unde se duce asta. Pentru orice dispozitive care nu acceptă deja un sistem de gestionare a temelor încorporat (cum ar fi dispozitivele Motorola sau OnePlus), acum aveți un alt motiv de așteptat în actualizarea Android 8.0. Pentru aceia dintre voi suficient de norocoși să guste deja acel dulce Oreo, aveți ceva de așteptat peste 1 săptămână.


P.S. Utilizatori Samsung, cunoașteți dispozitivele dvs acceptă deja temele de substrat fara a avea nevoie de root?

P.P.S Sunteți un dezvoltator interesat să aflați mai multe despre Substratum? Uită-te la Nicholas's superba prezentare de diapozitive aici!