Googlen uusimmassa Android Oreo -julkaisussa on jo sisäänrakennettu natiiviteeman tuki, ja Substratum-teemamoottorin ansiosta se tulee viikon kuluttua.
Päivitys 13.9.2017: Andromeda-lisäosa Substratumille, joka mahdollistaa mukautetut teemat juurruttamattomissa Android Oreo -laitteissa, on nyt julkaistu. Katso lisätietoja tästä artikkelista. Alkuperäinen artikkeli jää alle.
Jokaisen kanssa uusi julkaisu Googlen Android-käyttöjärjestelmästä, useimmilla käyttäjillä on vähemmän syitä rootta laitteensa. Kuitenkin muiden käyttäjien joukossa, jotka silti päättävät roottaa laitteensa, yksi yleisimmin mainituista syistä on ottaa käyttöön järjestelmänlaajuinen teematuki. Yleensä tätä hallitaan alustan kautta teemakehys vuodesta lähtien CyanogenMod Theme Enginen valitettava kuolema. Ajan myötä tiimi Substratumin takana työskenteli kovasti saadakseen tukea useammalle laitteelle ottamalla mukaan Substratum-tuki ROM-tasolla joten se voisi toimia ilman pääkäyttäjän oikeuksia. Ja nyt tiimi on vienyt projektin pidemmälle kuin kukaan meistä olisi voinut kuvitella
Täysi järjestelmänlaajuinen teematuki ilman rootia millekään Android Oreo -laitteelle.Kuvakaappauksia näytetään Sain Android Oreo Black -teema toimii juurruttamattomassa Google Pixelissä Android Oreo 8.0.0:ssa
Antaakseen sinulle käsityksen siitä, miten uskomatonta kehitystä tämä on, katso, että seuraava on nyt mahdollista ilman juuria:
- Theming of the Android Framework ja Android System UI, sekä kaikki muut järjestelmäsovellukset. (Monet teistä aikovat rakkaus vihdoinkin saatavilla tumma teema!)
- Teema mikä tahansa kolmannen osapuolen sovellus
- Mukautetut fontit kolmansien osapuolien sovelluksiin
- Monet muut muutokset, kuten tilapalkin keskikellomod
Lista jatkuu! Alustassa on kattava luettelo käytettävissä olevista teemoista jotka tukevat kehystä (joita kaikkia tuetaan tässä tulevassa uudessa Substratumin Android 8.0 -versiossa), aktiivinen yhteisö Google+ ja omamme foorumeilla, ja tämän kehityksen vuoksi tuki vain kasvaa!
Android Oreo ja Overlay Manager -palvelu
Siitä lähtien kun Google liitettiin natiivi tuki Sonyn Runtime Resource Overlaylle (RRO) teemamoottori Android 6.0 Marshmallowissa, olemme odottaneet Google tarjoaa sisäänrakennetun käyttöliittymän sekä julkiset sovellusliittymät, joita kehittäjät voivat käyttää sekä järjestelmäkehyssovellusten että kolmannen osapuolen sovellusten teemana. Valitettavasti Android Nougat -julkaisu toi vähän uutta pöytään siitä lähtien, kun Sonyn RRO lisättiin Android Open Source Projectiin (AOSP).
Mutta Sony Mobilen insinöörien ahkeran työn ansiosta RRO-teemamoottori kehittyi lopulta niin kutsutuksi Overlay Manager Serviceksi (OMS), johon Substratum perustuu. Sony oli edelläkävijä avoimen lähdekoodin teemaratkaisuissa, mutta koska heidän OMS-teemamoottorinsa hyväksyttiin AOSP: hen noin viimeisen Android 7.1 -julkaisun aikaan, muiden kuin Sony-laitteiden käyttäjien ainoa tapa hyödyntää teemamoottoria on mukautetun ROM.
Se muuttui Android 8.0:ssa. Kun Substratum alun perin julkaistiin ensimmäiset Android O -kehittäjien esikatselut, Substratumin kehittäjät ymmärsivät sen täysi tuki Sonyn puolesta OMS oli saatavilla. Tämä tarkoittaa, että käyttäjä voisi asentaa olemassa olevan Substratumin tukeman teeman ja se toimisi täysin Android Oreo -laitteissa ilman ROM-korjauksia. Oli kuitenkin vain yksi ongelma: asennetun Substratum-teeman käyttöönotto vaati pääkäyttäjän oikeudet, tai niin he ajattelivat.
Juureton, koko järjestelmän laajuinen alustateeman tuki Android Oreolle
Samalla kun kehittäjät keskittyivät hiljaa siihen, että Android Oreo -käyttäjille saadaan täysin juureton teemaratkaisu. poltin, tutkimme itsenäisesti jokaista Android O -kehittäjien esikatselua ja löysimme todisteita käynnissä olevasta teemamoottorista, vaikka tunnistimme sen väärin koska se perustuu vanhempaan RRO: han eikä Sonyn uudempaan OMS: ään. Google jopa kiusoitti yhteisöä teematuesta a kehittäjäkeskeinen AMA Redditissä ja totesi, että on vielä voitettava esteitä, ennen kuin täydellinen teemaratkaisu voidaan rakentaa Androidiin.
Emme olleet tyytyväisiä tähän vastaukseen, vaan halusimme nähdä, kuinka pitkälle Google oli mennyt saadakseen teematuen Android Oreolle. Sitä varten kaivauduin sisään Android 8.0:n lähdekoodi kun lopullinen julkaisu putosi, ja löysi ADB-komentotulkkikomentojen olemassaolo, jotka voivat ottaa käyttöön tai poistaa käytöstä peittokuvat, jonka XDA-kirjoittaja Adam Conway käsitteli eilen.
Aluksi en ollut kovin vaikuttunut löydöstä, koska tietääkseni se oli tuolloin toiminnallisesti hyödytön, koska minä ja kollegani olivat sitä mieltä, että asennus teema vaati edelleen pääkäyttäjän oikeudet, koska teematiedostot on siirrettävä kansioon, johon käyttäjätila ei pääse (hakemistossa /system/vendor/overlay, joten RRO toiminut). Nicholas Chum itse, yksi Substratumin johtavista kehittäjistä, kommentoi viestiämme, että hän oli tietoinen näiden komentojen olemassaolosta jo jonkin aikaa ja on käyttänyt sitä jo Android O -koontiversioissa.
Yksi henkilö kuitenkin näki tilaisuuden ilmaantuvan, kun julkaisimme artikkelimme eilen. XDA: n oma Jeff Corcoran, talomme takana oleva kehittäjä XDA Labs -sovellus, ymmärsi, että oli olemassa potentiaalinen kiertotapa saada Android Oreon natiivi komentorivikäyttöliittymä OMS: lle toimimaan ilman pääkäyttäjää. Se sisälsi menetelmän, jota käytti Helium, suosittu ei-root-varmuuskopiointiratkaisu, ja viime aikoina avoimen lähdekoodin Greenify-vaihtoehto, joka tunnetaan nimellä Brevent.
Korotetut oikeudet käsikirjoituksen avulla
Tavallisesti "cmd-peittokuva" -komennot, jotka Google on lisännyt Oreo-julkaisuun, voidaan suorittaa vain joko pääkäyttäjän oikeuksilla varustetun laitteen kautta tai Android Debug Bridge (ADB) -kuoren kutsuvan tietokoneeseen kytketyn laitteen kautta. Kourallinen älykkäitä kehittäjiä, kuten Helium- ja Brevent-kehittäjät, on vuosien varrella keksinyt kuinka nostaa puhelimessa käynnissä olevan sovelluksen oikeudet ADB: n vastaaviksi kuori. Näin tehdessään sovellus voi lähettää komentoja, joita se ei yleensä pystyisi rajoitettujen käyttöoikeuksien vuoksi. Substratumin tapauksessa se tarkoittaa sovellus voi asentaa ja ottaa käyttöön tai poistaa käytöstä Substratum-teemat ilman pääkäyttäjää.
Tämä oivallus oli a suuri läpimurto, joka havaittiin vasta eilen illalla. Muutaman tunnin kuluessa Nicholas (Jeffin avulla) pystyi luomaan nopean alfa-version juurettomasta Substratum-teemahallinnasta Android Oreo -laitteille. Ja se toimii - mutta muutamalla varoituksella.
Varoitukset juurettomasta alustan tuesta
Prosessi, joka tarvitaan Substratum ADB -kuoren korotettujen oikeuksien myöntämiseen, edellyttää a erittäin yksinkertainen ja kevyt työpöytäsovellus (tai vain ADB-kuorikomento, jos tiedät mitä olet tekemässä). Kun Substratum on myönnetty, se toimii odotetusti, sillä se pystyy hallitsemaan kaikkia asennettuja Substratum-teemoja. Kaikki asentamasi teemat pysyvät asennettuina kunnes päätät poistaa sen uudelleen Substratumin kautta.
Substratumille myönnetyt oikeudet ovat kuitenkin ohimeneviä, kuten ne menetetään, kun käyttäjä suorittaa täyden uudelleenkäynnistyksen (vaikka onneksi järjestelmän käyttöliittymän pehmeät uudelleenkäynnistykset eivät menetä etuoikeuksia). Tämä tarkoittaa, että sinun on suoritettava työpöytäohjelma uudelleen, jos olet käynnistänyt puhelimesi uudelleen ja haluat käyttää Substratumia teeman lisäämiseen, poistamiseen tai muokkaamiseen. Haluan toistaa sen uudelleen kaikki asentamasi teemat pysyvät asennettuina, vaikka käynnistät sen uudelleen, joten se tarkoittaa, että jos haluat vain vaihtaa muutamaa teemaa vain satunnaisesti, tämän pitäisi olla täydellinen sinulle. Sinun pitäisi myös pystyä vaihtamaan teemoja Asetukset-valikosta, kuten Kehittäjän esikatselun "Teema" -vaihtoehto Näyttöasetukset-kohdassa tunnistaa asennetut teemat ja antaa sinun vaihtaa niiden välillä
Lopuksi viimeinen asia, joka minun on mainittava, on asia, joka näyttää itsestään selvältä, kun ajattelet sitä, mutta olet ehkä unohtanut innostuneena uutisten kuulemisesta. Laitteesi on edelleen juurruttamaton. Tämä tarkoittaa, että et voi koskettaa tai muokata tiedostoja, joiden muokkaaminen edellyttää ehdottomasti pääkäyttäjän oikeuksia, vaikka asentamasi Substratum-teema lupasi muuttaa jotain. Valitettavasti tämä tarkoittaa, että et voi tehdä järjestelmän laajuista fonttimuutosta tuo takaisin blob-emojit, vaikka, kuten alussa mainittiin, se On Substratum-teemalla on mahdollista muuttaa yksittäisten sovellusten fontteja.
Alustan välttämättömyys
Otetaan nyt pois tieltä tärkeä yksityiskohta. Milloin tämä tulee? Kuten otsikossa mainitaan, Android 8.0 -laitteille, kuten Google Nexus 5X: lle, Google Nexus 6P: lle, Google Pixelille ja Google Pixel XL: lle tarkoitetun juureton Substratumin ensimmäinen julkinen saatavuus pitäisi olla 1 viikon sisällä. Se on ei takuu millään tavalla, koska asiat voivat muuttua kehitysprosessissa, mikä saattaa vaatia lisäaikainvestointeja, mutta koska OMS on jo täysin tuettu AOSP: ssä, kaikki Substratum-tiimi työskentelee nyt on rajapinta Substratum-sovelluksen ja juurtumattoman välillä. laitteet.
Seuraavaksi: onko se ilmainen? Ei. Juurtmattomien Android Oreo -laitteiden alusta on a maksettu hakemus. En voi sanoa, kuinka paljon se maksaa, koska Nicholas ei ole vielä päättänyt hinnasta, mutta voit olla varma, että hinta on oikeudenmukainen ottaen huomioon saamasi arvon. Tähän asti Substratum on ollut vapaasti saatavilla monille laitteille, joten harkitse tällaisen kehityksen tukemista tukemalla ensin Team Substratumia. Voit joko odottaa, että Google lopulta julkaisee sen tumman teeman, jonka olet aina halunnut (ha, hyvä yksi), tai voit heittää muutaman penniä tukemaan itsenäistä kehitystä, jota monet ihmiset pitävät myönnetty.
Etkö ole vieläkään vakuuttunut sen arvosta? Sinä pystyt yrittää Substratum-teemojen asentaminen omalle juurtumattomalle 8.0-laitteellesi. Itse asiassa juuri niin teimme edellä. Tietysti Nicholas auttoi meitä tässä. Jos haluat asentaa olemassa olevan Substratum-teeman Google Play Kaupasta, tässä ovat yleiset vaiheet:
- Lataa ja asenna APK-tiedosto laitteellesi.
- Pura sisältö ja kokoa kukin peitto yksittäiseksi APK-tiedostoksi kullekin sovellukselle, jonka haluat tehdä teemaksi
- Asenna jokainen yksittäinen peittokuva APK-tiedosto, jonka käänsit manuaalisesti vaiheessa 2
- Suorita jokaiselle asentamasi peittokuva-APK: lle seuraava komento ottaaksesi sen käyttöön:
cmd overlay enable
- Jos haluat muuttaa peittokuvien prioriteettia, käytä:
cmd overlay set-priority
PARENT|lowest|highest - Listaa kaikki asennetut peittokuvat, joissa on:
cmd overlay list
- Poista peittokuvat, joita et halua käyttää:
cmd overlay disable
Jos todella haluat käyttää komentoriviä teemojen hallintaan, ole vieraamme! Henkilökohtaisesti olin jumissa vaiheen 2 ohittamisessa. Substratum ei käytä jotain piilotettua menetelmää, jota et voi keksiä itse, vaan se tekee sen kaukana sinun on helpompi hallita. Kun on mahdollista tehdä jotain manuaalisesti, mutta sovellus voi tehdä sen puolestani paljon helpommin, annan yleensä vain sovelluksen tehdä tehtävänsä. Mutta se on sinusta kiinni.
Henkilökohtaisesti olen todella, todella innoissaan katsomaan mihin tämä johtaa. Kaikille laitteille, jotka eivät vielä tue sisäänrakennettua teemanhallintajärjestelmää (kuten Motorola- tai OnePlus-laitteet), sinulla on nyt toinen syy odottaa Android 8.0 -päivitystä. Niille teistä, jotka ovat onnekkaita, jotka ovat jo maistaneet tuon makean Oreon, sinulla on jotain mitä odottaa viikon kuluttua.
P.S. Samsungin käyttäjät, tiesitkö laitteesi tukee jo Substratum-teemoja ilman rootin tarvetta?
P.P.S Oletko kehittäjä, joka on kiinnostunut oppimaan lisää Substratumista? Katso Nicholas's mahtava diaesitysesitys täällä!