Išskirtinis: per 1 savaitę „Android Oreo“ gaus „Rootless“ visos sistemos palaikymą

Naujausiame „Google“ „Android Oreo“ leidime jau yra įtaisytas vietinės temos palaikymas, o „Substratum“ temos variklio dėka jis pasirodys po 1 savaitės.

Atnaujinimas 09/13/17: Dabar buvo išleistas „Andromeda“ priedas, skirtas „Substratum“, leidžiantis pasirinktines temas neįsišaknijusiuose „Android Oreo“ įrenginiuose. Daugiau informacijos rasite šiame straipsnyje. Originalus straipsnis liks žemiau.

Su kiekvienu naujas leidimas „Google“ „Android“ OS, dauguma vartotojų turi mažiau priežasčių root savo įrenginius. Tačiau tarp likusių vartotojų, kurie vis dar pasirenka įsileisti savo įrenginius, viena iš dažniausiai nurodytų priežasčių yra įjungti visos sistemos temos palaikymą. Paprastai tai valdoma per substratą temos rėmas nuo pat nelaimingas CyanogenMod temos variklio žlugimas. Laikui bėgant, komanda už substrato sunkiai dirbo, kad įtrauktų palaikymą daugiau įrenginių įtraukiant Substratum palaikymą ROM lygiu todėl jis gali veikti be root prieigos. Ir dabar komanda įgyvendino projektą daugiau, nei bet kuris iš mūsų galėjo įsivaizduoti 

pilnas visos sistemos temos palaikymas be root bet kuriam Android Oreo įrenginiui.

Rodomos ekrano nuotraukos Sai Android Oreo juoda tema veikia neįsišaknijusiame „Google Pixel“ sistemoje „Android Oreo 8.0.0“.

Kad suprastumėte, kaip neįtikėtinas toks vystymasis, mano, kad dabar bus galima atlikti šiuos veiksmus be šaknies:

  • Tematika „Android Framework“ ir „Android“ sistemos vartotojo sąsaja, taip pat visos kitos sistemos programos. (Daugelis jūsų ketina meilė pagaliau yra tamsi tema!)
  • Tematika bet kokia trečiosios šalies programa
  • Pasirinktiniai šriftai trečiųjų šalių programoms
  • Daugelis kitų modifikacijų, pvz., būsenos juostos centrinio laikrodžio mod

Sąrašas tęsiasi! Substratas turi platus galimų temų sąrašas kurie palaiko sistemą (visi jie palaikomi šioje naujoje „Substratum“, skirtoje „Android 8.0“ versijoje), aktyvi bendruomenė Google+ ir mūsų pačių forumuose, ir atsižvelgiant į šią raidą, parama tik didės!


Android Oreo ir Overlay Manager paslauga

Kai kurių substrato temų pavyzdys.

Nuo tada, kai buvo įtraukta „Google“. „Sony Runtime Resource Overlay“ palaikymas (RRO) temos variklis „Android 6.0 Marshmallow“, mes laukėme kad „Google“ pateiktų įtaisytąją sąsają ir viešąsias API, kurias kūrėjai gali naudoti temomis tiek sistemos sistemos programoms, tiek trečiųjų šalių programoms. Deja, „Android Nougat“ leidimas atnešė mažai naujovių nuo tada, kai „Sony“ RRO buvo įtraukta į „Android Open Source Project“ (AOSP).

Tačiau dėl kruopštaus „Sony Mobile“ inžinierių darbo RRO temos variklis ilgainiui išsivystė į vadinamąją „Overlay Manager Service“ (OMS), kuria yra pagrįsta „Substratum“. „Sony“ buvo atvirojo kodo teminio sprendimo pradininkė, tačiau kadangi jų OMS temos variklis buvo priimtas į AOSP maždaug paskutinio „Android 7.1“ leidimo metu, vienintelis būdas ne „Sony“ įrenginių naudotojams pasinaudoti temos varikliu yra pasirinktinis ROM.

Tai pasikeitė „Android 8.0“. Kai „Substratum“ iš pradžių buvo išleistas pirmosios kelios „Android O“ kūrėjų peržiūros, Substratum kūrėjai tai suprato pilnas palaikymas skirta Sony OMS buvo prieinama. Tai reiškia, kad vartotojas gali įdiegti esamą Substratum palaikomą temą ir ji visiškai veiktų „Android Oreo“ įrenginiuose nereikalaujant jokių ROM pataisų. Tačiau buvo tik viena problema: norint įjungti įdiegtą „Substratum“ temą, reikėjo root prieigos, ar taip jie manė.


Be šaknų, visos sistemos substrato temos palaikymas, skirtas „Android Oreo“.

Nors kūrėjai tyliai dirba siekdami, kad „Android Oreo“ naudotojai būtų visiškai be šaknų. Degiklis, savarankiškai tyrinėjome kiekvieną „Android O“ kūrėjo peržiūrą ir radome veikiančio temos variklio įrodymų, nors mes jį neteisingai nustatėme kaip paremta senesne RRO, o ne naujesne Sony OMS. „Google“ netgi erzino bendruomenę apie temų palaikymą į kūrėją orientuota AMA Reddit, teigdamas, kad vis dar reikia įveikti tam tikras kliūtis, kad būtų galima įdiegti visą teminį sprendimą į „Android“.

Nesame patenkinti šiuo atsakymu, norėjome pamatyti, kiek „Google“ nuėjo siekdama „Android Oreo“ temos palaikymo. Norėdami tai padaryti, aš įsigilinau „Android 8.0“ šaltinio kodas Kai galutinis leidimas sumažėjo, ir atrado ADB apvalkalo komandų, kurios galėtų įjungti arba išjungti perdangas, buvimas, kurį vakar aprašė XDA rašytojas Adamas Conway.

Numatytosios perdangos išjungimas

Iš pradžių radinys nebuvau labai sužavėtas, nes, mano žiniomis, tuo metu jis buvo funkciškai nenaudingas, nes man ir mano kolegoms susidarė įspūdis, kad diegimas temai vis tiek reikalinga šakninė prieiga, nes temos failus reikės perkelti į aplanką, kuris nepasiekiamas vartotojo erdvei ( /system/vendor/overlay, todėl RRO veikė). Nikolajus Chumas pats, vienas iš pagrindinių Substratum kūrėjų, komentavo mūsų įrašą, kad žinojo apie šių komandų egzistavimą gana ilgą laiką ir jau naudojo jį „Android O“ versijose.

Tačiau vienas asmuo pamatė galimybę, kai vakar paskelbėme savo straipsnį. XDA priklauso Jeffas Corcoranas, mūsų vidaus kūrėjas „XDA Labs“ programa, suprato, kad yra galimas sprendimas, kaip sukurti „Android Oreo“ savąją komandų eilutės sąsają, kad OMS veiktų be root. Tai apėmė metodą, kurį naudojo Helis, populiarus ne root atsarginės kopijos sprendimas, o visai neseniai – atvirojo kodo Greenify alternatyva, žinoma kaip Breventas.

Padidintos privilegijos per scenarijų

Paprastai "cmd perdanga“ komandos, kurias „Google“ pridėjo prie „Oreo“ leidimo, gali būti vykdomos tik naudojant įrenginį, turintį root teises, arba įrenginį, susietą su kompiuteriu, iškviečiančiu „Android Debug Bridge“ (ADB) apvalkalą. Keletas protingų kūrėjų, tokių kaip Helium ir Brevent kūrėjai, bėgant metams išsiaiškino kaip iš esmės padidinti telefone veikiančios programos privilegijas, kad jos atitiktų ADB apvalkalas. Tai darydama programa gali siųsti komandas, kurių paprastai negalėjo dėl apribotų leidimų. Substrato atveju tai reiškia programa gali įdiegti, tada įjungti arba išjungti Substratum temas be šaknies.

Šis suvokimas buvo a majoras proveržis, kuris buvo atrastas tik vakar vakare. Per kelias valandas Nicholas (padedamas Jeffas) sugebėjo sukurti greitą bešaknių Substratum temų tvarkyklės alfa versiją, skirtą Android Oreo įrenginiams. Ir tai veikia, bet su keletu įspėjimų.

Bešaknių substrato palaikymo įspėjimai

Procesui, kurio reikia norint suteikti Substratum ADB apvalkalo padidintas teises, reikės naudoti a labai paprastas ir lengvas darbalaukio programa (arba tiesiog ADB apvalkalo komanda, jei žinote, ką darote). Kai bus suteiktas, „Substratum“ veiks taip, kaip tikitės, nes galės valdyti visas jūsų įdiegtas „Substratum“ temas. Visos įdiegtos temos liks įdiegtos kol vėl pasirinksite jį pašalinti per „Substratum“.

Tačiau „Substratum“ suteikiamos privilegijos yra trumpalaikės prarandami, kai vartotojas visiškai paleidžia iš naujo (nors laimei, minkštas sistemos vartotojo sąsajos paleidimas iš naujo nepraranda privilegijų). Tai reiškia, kad turėsite dar kartą paleisti darbalaukio programą, jei iš naujo paleisite telefoną ir norite naudoti „Substratum“, kad pridėtumėte, pašalintumėte ar pakeistumėte temą. Noriu tai dar kartą pakartoti visos įdiegtos temos išliks įdiegtos, net jei paleisite iš naujo, tai reiškia, kad jei norite tik retkarčiais pakeisti kelias temas, tai turėtų jums puikiai tikti. Taip pat turėtumėte turėti galimybę perjungti temas iš meniu Nustatymai, kaip Kūrėjo peržiūros parinktis „Tema“. skiltyje Ekrano nustatymai atpažįsta įdiegtas temas ir leidžia jas perjungti

Galiausiai, paskutinis dalykas, kurį turiu paminėti, yra tai, kas atrodo akivaizdu, kai pagalvoji apie tai, bet jaudindamasi išgirdęs naujienas galbūt pamiršai. Jūsų įrenginys vis dar neįsišaknijęs. Tai reiškia, kad negalite liesti ar keisti jokių failų, kuriems redaguoti būtina šakninė prieiga, net jei jūsų įdiegta Substratum tema pažadėjo ką nors pakeisti. Atsiprašome, bet tai reiškia, kad negalite pritaikyti visos sistemos šrifto pakeitimo sugrąžinti blob jaustukus, nors, kaip minėta pradžioje, tai yra Substratum tema gali pakeisti atskirų programų šriftus.

Substrato būtinybė

Dabar pašalinkime svarbią detalę. Kada tai ateis? Kaip minima pavadinime, pirmasis „Android 8.0“ įrenginių, tokių kaip „Google Nexus 5X“, „Google Nexus 6P“, „Google Pixel“ ir „Google Pixel XL“, „Substratum“ be šaknų prieinamumas turėtų būti per 1 savaitę. tai ne garantija bet kokiu būdu, nes kūrimo procese viskas gali pasikeisti, todėl gali prireikti papildomų laiko investicijų, tačiau kadangi OMS jau yra visiškai palaikoma AOSP, viskas, prie ko dabar dirba „Substratum“ komanda, yra sąsaja tarp „Substratum“ programos ir neįsišaknijusios prietaisai.

Kitas: ar tai bus nemokama? Nr. Neįšaknintiems Android Oreo įrenginiams skirtas substratas bus a apmokėta paraiška. Negaliu pasakyti, kiek tai kainuos, nes Nikolajus dar neapsisprendė dėl kainos, bet būkite tikri, kad kaina bus teisinga, atsižvelgiant į tai, ką gausite. Iki šiol „Substratum“ buvo laisvai prieinamas daugeliui įrenginių, todėl apsvarstykite galimybę paremti tokio pobūdžio plėtrą pirmiausia palaikydami „Team Substratum“. Galite palaukti, kol „Google“ galiausiai išleis tą tamsią temą, kurios visada norėjote (ha, gerai vienas), arba galite įmesti kelis centus, kad palaikytumėte nepriklausomą vystymąsi, kurį daugelis žmonių laiko suteikta.

Vis dar nesate įsitikinęs jo verte? Tu gali bandyti „Substratum“ temų įdiegimas savo neįsišaknijusiame 8.0 įrenginyje. Tiesą sakant, būtent tai mes padarėme aukščiau. Žinoma, mums šiek tiek padėjo Nikolajus. Jei norite įdiegti esamą „Substratum“ temą iš „Google Play“ parduotuvės, atlikite šiuos bendruosius veiksmus:

  1. Atsisiųskite ir įdiekite APK failą į savo įrenginį.
  2. Išskleiskite turinį ir sukompiliuokite kiekvieną perdangą į atskirą APK failą kiekvienai programai, kuriai norite sukurti temą
  3. Įdiekite kiekvieną atskirą perdangos APK failą, kurį rankiniu būdu sudarėte atlikdami 2 veiksmą
  4. Kiekvienam įdiegtam perdangos APK paleiskite šią komandą, kad ją įgalintumėte: cmd overlay enable
  5. Jei norite pakeisti perdangų prioritetą, naudokite: cmd overlay set-priority PARENT|lowest|highest
  6. Išvardykite visas įdiegtas perdangas su: cmd overlay list
  7. Pašalinkite visas perdangas, kurių nenorite naudoti: cmd overlay disable

Jei tikrai norite naudoti komandų eilutę temoms valdyti, būkite mūsų svečias! Asmeniškai man įstrigo 2 žingsnis. Substratas nenaudoja kažkokio paslėpto metodo, kurio negalite sugalvoti patys, bet jis jį kuria toli lengviau valdyti. Kai ką nors galima padaryti rankiniu būdu, bet programa gali tai padaryti už mane daug lengviau, aš linkęs tiesiog leisti programai atlikti savo darbą. Bet tai priklauso nuo jūsų.

Asmeniškai aš tikrai labai susijaudinęs kad pamatytumėte, kur tai eina. Bet kokiems įrenginiams, kurie dar nepalaiko įtaisytosios temos valdymo sistemos (pvz., „Motorola“ ar „OnePlus“ įrenginiai), dabar turite dar vieną priežastį, kurios laukia „Android 8.0“ naujinimas. Tiems iš jūsų, kuriems pasisekė jau paragauti to saldaus Oreo, turėsite ko laukti po 1 savaitės.


P.S. „Samsung“ vartotojai, ar žinojote savo įrenginius jau palaiko substrato temas nereikia root?

P.P.S Ar esate kūrėjas, norintis sužinoti daugiau apie „Substratum“? Peržiūrėkite Nikolajus nuostabus skaidrių demonstravimo pristatymas čia!