Eksklusiivne: Android Oreo saab juurteta, kogu süsteemi hõlmava teematoe 1 nädala jooksul

Google'i uusimal Android Oreo väljalasel on juba sisseehitatud natiivse teema tugi ja tänu Substratumi teemamootorile tuleb see nädala pärast.

Värskendus 13.09.17: Andromeda lisandmoodul Substratumi jaoks, mis võimaldab kohandatud teemasid juurdumata Android Oreo seadmetes, on nüüd välja antud. Lisateavet leiate sellest artiklist. Algne artikkel jääb allapoole.

Igaga uus väljalase Google'i Android OS-i puhul on enamikul kasutajatel vähem põhjuseid juurutada oma seadmeid. Ülejäänud kasutajate seas, kes siiski otsustavad oma seadmeid juurutada, on üks kõige sagedamini viidatud põhjuseid kogu süsteemi hõlmava teematoe lubamine. Tavaliselt hallatakse seda substraadi kaudu teemaraamistik aastast alates CyanogenModi teemamootori kahetsusväärne surm. Aja jooksul on meeskond substraadi taga tegi kõvasti tööd, et kaasata tugi rohkematele seadmetele, kaasates Substratumi toe ROM tasemel nii et see võiks töötada ilma juurjuurdepääsuta. Ja nüüd on meeskond viinud projekti kaugemale sellest, mida keegi meist oleks võinud ette kujutada 

täielik kogu süsteemiülene teematugi ilma rootita mis tahes Android Oreo seadme jaoks.

Kuvatavad ekraanipildid Sai Android Oreo must teema töötab juurdumata Google Pixelis operatsioonisüsteemis Android Oreo 8.0.0

Et anda teile aimu, kuidas uskumatu areng see on, arvestage, et nüüd on võimalik järgmine ilma juureta:

  • Theming of the Android Framework ja Androidi süsteemi kasutajaliides, aga ka mis tahes muud süsteemirakendused. (Paljud teist kavatsevad armastus lõpuks on tume teema saadaval!)
  • Theming of mis tahes kolmanda osapoole rakendus
  • Kohandatud fondid kolmandate osapoolte rakenduste jaoks
  • Paljud muud muudatused, näiteks olekuriba keskkella mod

Nimekiri jätkub! Aluspinnal on saadaolevate teemade ulatuslik loend mis toetavad raamistikku (mida kõiki toetab see Android 8.0 jaoks mõeldud Substratum uus versioon), aktiivne kogukond Google+ ja meie oma foorumid, ja seda arengut arvestades peab toetus ainult kasvama!


Android Oreo ja Overlay Manageri teenus

Näidis mõnest aluspinna teemast.

Alates Google'i liitumisest Sony Runtime Resource Overlay loomulik tugi (RRO) teemamootor operatsioonisüsteemis Android 6.0 Marshmallow, oleme oodanud et Google pakuks sisseehitatud liidest ja avalikke API-sid, mida arendajad saavad kasutada nii süsteemiraamistiku rakenduste kui ka kolmanda osapoole rakenduste teemastamiseks. Kahjuks tõi Android Nougati väljalase lauale vähe uut sellest ajast peale, kui Sony RRO lisati Androidi avatud lähtekoodiga projekti (AOSP).

Kuid tänu Sony Mobile'i inseneride usinale tööle arenes RRO teemamootor lõpuks nn Overlay Manager Service'iks (OMS), millel Substratum põhineb. Sony oli teerajaja avatud lähtekoodiga teemalahenduse osas, kuid kuna nende OMS-i teemamootor võeti AOSP-sse vastu umbes Android 7.1 lõpliku väljalaske ajal on muude kui Sony seadmete kasutajate ainus viis teemamootori eeliste kasutamiseks kohandatud ROM.

See muutus Android 8.0-s. Kui Substratum algselt vabastati paar esimest Android O arendaja eelvaadet, said Substratumi arendajad sellest aru täielikku toetust Sony jaoks OMS oli saadaval. See tähendab, et kasutaja saab installida olemasoleva Substratum-toega teema ja see toimiks täielikult Android Oreo seadmetes, ilma et oleks vaja ROM-i plaastreid. Siiski oli ainult üks probleem: installitud Substratumi teema lubamise protsess nõudis juurjuurdepääsu, või nii nad arvasid.


Android Oreo juurteta, kogu süsteemi hõlmava aluspinna teema tugi

Samal ajal kui arendajad panid vaikselt oma tööd Android Oreo kasutajatele täiesti juurteta teemalahenduse tagamisele. põleti, uurisime iseseisvalt iga Android O arendaja eelvaadet ja leidsime tõendeid mängitava teemamootori kohta, kuigi tuvastasime selle valesti kuna see põhineb pigem vanemal RRO-l kui Sony uuemal OMS-il. Google isegi kiusas kogukonda teematoe osas a arendajakeskne AMA Redditis, märkides, et enne täieliku teemalahenduse Androidi sisseehitamist tuleb veel ületada mõned takistused.

Selle vastusega rahulolematud tahtsime näha, kui kaugele on Google jõudnud Android Oreo teematoe hankimisel. Selleks süvenesin Android 8.0 lähtekood kui lõplik väljalase langes ja avastas ADB kestakäskude olemasolu, mis võivad ülekatteid lubada või keelata, mida XDA kirjanik Adam Conway eile kajastas.

Vaikeülekatte keelamine

Algselt ei avaldanud see leid mulle suurt muljet, kuna minu teada oli see toona funktsionaalselt kasutu, kuna mulle ja mu kolleegidele jäi mulje, et paigaldamine teema vajab endiselt juurjuurdepääsu, kuna teemafailid tuleb teisaldada kausta, mis pole kasutajaruumi jaoks ligipääsetav (kataloogis /system/vendor/overlay, mis on nii RRO toimis). Nicholas Chum ise, üks Substratumi juhtivatest arendajatest, kommenteeris meie postitust, et oli nende käskude olemasolust juba mõnda aega teadlik ja on seda juba kasutanud Android O ehituste jaoks.

Üks inimene aga nägi pärast eile artikli avaldamist võimalust. XDA oma Jeff Corcoran, meie ettevõttesisese arendaja XDA Labsi rakendus, mõistis, et on olemas potentsiaalne lahendus, kuidas saada Android Oreo loomulik käsurea liides, et OMS töötaks ilma juurõigusteta. See hõlmas meetodit, mida kasutas Heelium, populaarne mitte-juurvarundamislahendus ja hiljuti avatud lähtekoodiga Greenify alternatiiv, mida tuntakse kui Brevent.

Kõrgendatud privileegid skripti kaudu

Tavaliselt on "cmd ülekate" käske, mille Google lisas Oreo väljalasele, saab käitada ainult juurõigustega seadme või Android Debug Bridge (ADB) kesta käivitava arvutiga ühendatud seadme kaudu. Käputäis nutikaid arendajaid, nagu Heliumi ja Breventi arendajad, on aastate jooksul aru saanud kuidas sisuliselt tõsta telefonis töötava rakenduse õigusi ADB omadele vastavaks kest. Seda tehes saab rakendus saata käske, mida ta tavaliselt piiratud õiguste tõttu ei saanud. Substraadi puhul tähendab see rakendus saab installida ja seejärel lubada või keelata Substratumi teemad ilma juureta.

See arusaam oli a major läbimurre, mis avastati alles eile õhtul. Mõne tunni jooksul suutis Nicholas (Jeffi abiga) luua Android Oreo seadmetele mõeldud juurteta Substratum teemahalduri kiire alfaversiooni. Ja see töötab – kuid mõne ettevaatusega.

Hoiatused juurteta aluspinna toe kohta

Substratum ADB kesta kõrgendatud õiguste andmiseks vajalik protsess nõuab a väga lihtne ja kerge töölauarakendus (või lihtsalt ADB shellikäsk, kui tead, mida teed). Pärast lubamist töötab Substratum ootuspäraselt, kuna see suudab hallata kõiki teie installitud Substratumi teemasid. Kõik installitud teemad jäävad installituks kuni otsustate selle uuesti Substratumi kaudu desinstallida.

Substraadile antud privileegid on aga mööduvad, nagu ka nemad kaovad, kui kasutaja teostab täieliku taaskäivituse (kuigi õnneks ei kaota süsteemi kasutajaliidese pehmed taaskäivitused privileege). See tähendab, et kui olete telefoni taaskäivitanud ja soovite teema lisamiseks, eemaldamiseks või muutmiseks kasutada Substraumi, peate töölauaprogrammi uuesti käivitama. Tahan seda veel kord korrata kõik installitud teemad jäävad installituks ka pärast taaskäivitamist, see tähendab, et kui soovite mõnda teemat ainult aeg-ajalt muuta, peaks see teile sobima. Samuti peaksite saama menüüst Seaded teemasid vahetada, nagu Arendaja eelvaate valik "Teema". jaotises Kuvaseaded tuvastab installitud teemad ja võimaldab teil nende vahel vahetada

Lõpetuseks, viimane asi, mida pean mainima, on midagi, mis tundub ilmne, kui sellele järele mõelda, kuid uudiste kuuldes põnevil, võisite selle unustada. Teie seade on endiselt juurutamata. See tähendab, et te ei saa puudutada ega muuta ühtegi faili, mille muutmiseks on vaja absoluutselt juurjuurdepääsu, isegi kui teie installitud Substratumi teema lubas midagi muuta. Kahjuks tähendab see, et te ei saa rakendada kogu süsteemi hõlmavat fondi muudatust tooge tagasi blob-emotikonid, kuigi nagu alguses mainitud, siis see on Substratum teemal on võimalik üksikute rakenduste fonte muuta.

Substraadi vajalikkus

Kõrvaldame nüüd ühe olulise detaili. Millal see tuleb? Nagu pealkiri mainib, peaks Android 8.0 seadmete (nt Google Nexus 5X, Google Nexus 6P, Google Pixel ja Google Pixel XL) jaoks mõeldud juurteta Substratum esimene avalik kättesaadavus olema 1 nädala jooksul. See on ei ole garantii igal juhul, kuna arendusprotsessis võivad asjad muutuda, mis võib nõuda täiendavat ajainvesteeringut, kuid kuna OMS on juba AOSP-s täielikult toetatud, kõik, millega Substratumi meeskond praegu töötab, on liides Substratum rakenduse ja juurdumata vahel seadmeid.

Järgmisena: kas see on tasuta? Ei. Juurdeta Android Oreo seadmete aluspind on a tasuline taotlus. Ma ei saa teile öelda, kui palju see maksma läheb, kuna Nicholas pole veel hinna üle otsustanud, kuid võite olla kindel, et hind on õiglane, arvestades teile saadava kauba väärtust. Seni on Substratum olnud paljude seadmete jaoks vabalt saadaval, seega kaaluge sellise arenduse toetamist, toetades esmalt Team Substratum. Võite oodata, kuni Google lõpuks vabastab selle tumeda teema, mida olete alati soovinud (ha, hea üks) või võite visata mõned sendid, et toetada iseseisvat arengut, mida paljud inimesed peavad antud.

Kas te pole ikka veel selle väärtuses veendunud? Sa saad proovige Substratumi teemade installimine oma juurdumata 8.0 seadmesse. Tegelikult tegime just seda eespool. Muidugi oli meil selleks natuke abi Nicholast. Kui soovite installida Google Play poest olemasoleva Substratumi teema, toimige järgmiselt.

  1. Laadige alla ja installige oma seadmesse APK-fail.
  2. Ekstraheerige sisu ja kompileerige iga ülekate eraldi APK-failiks iga rakenduse jaoks, mida soovite teemastada
  3. Installige iga ülekattega APK-fail, mille lõite toimingus #2 käsitsi
  4. Iga installitud ülekatte-APK jaoks käivitage selle lubamiseks järgmine käsk: cmd overlay enable
  5. Kui soovite ülekatete prioriteeti muuta, kasutage: cmd overlay set-priority PARENT|lowest|highest
  6. Loetlege kõik installitud ülekatted koos: cmd overlay list
  7. Eemaldage kõik ülekatted, mida te ei soovi kasutada: cmd overlay disable

Kui soovite tõesti kasutada teemade haldamiseks käsurida, olge meie külaline! Isiklikult jäin sammust nr 2 mööda saamisega jänni. Substratum ei kasuta mingit peidetud meetodit, mida te ise ei suuda välja mõelda, vaid ta teeb seda kaugele teil on lihtsam hallata. Kui on võimalik midagi käsitsi teha, kuid rakendus saab seda minu eest palju lihtsamalt teha, siis lasen rakendusel lihtsalt oma töö teha. Aga see on sinu otsustada.

Mina isiklikult olen tõesti, väga põnevil et näha, kuhu see läheb. Kõigi seadmete puhul, mis veel ei toeta sisseehitatud teemahaldussüsteemi (nt Motorola või OnePlusi seadmed), on teil nüüd veel üks põhjus Android 8.0 värskenduse jaoks oodata. Neil teist, kellel on õnn seda magusat Oreot juba maitsta, on 1 nädala pärast, mida oodata.


P.S. Samsungi kasutajad, kas teadsite oma seadmeid? juba toetavad Substratum teemasid ilma juurt vajamata?

P.P.S Kas olete arendaja, kes on huvitatud Substraadi kohta lisateavet? Vaadake Nicholase oma vinge slaidiesitlus siin!