Esclusivo: Android Oreo riceverà supporto per temi rootless a livello di sistema entro 1 settimana

L'ultima versione di Android Oreo di Google ha già il supporto nativo dei temi integrato e, grazie al motore dei temi Substratum, arriverà tra 1 settimana.

Aggiornamento 13/09/17: è stato rilasciato il componente aggiuntivo Andromeda per Substratum che consente temi personalizzati su dispositivi Android Oreo senza root. Vedi questo articolo per ulteriori dettagli. L'articolo originale rimarrà qui sotto.

Con ogni nuova versione del sistema operativo Android di Google, ci sono meno motivi per cui la maggior parte degli utenti lo fa eseguire il root dei propri dispositivi. Tuttavia, tra i restanti utenti che scelgono ancora di eseguire il root dei propri dispositivi, uno dei motivi più comunemente citati è abilitare il supporto dei temi a livello di sistema. In genere, questo viene gestito tramite il substrato quadro tematico sin dal sfortunata scomparsa del motore dei temi CyanogenMod. Nel corso del tempo, il squadra dietro Substratum ha lavorato duramente per includere il supporto per più dispositivi incorporando il supporto Substratum

a livello ROM quindi potrebbe funzionare senza accesso root. E ora, il team ha portato il progetto oltre ciò che chiunque di noi avrebbe potuto immaginare portandolo supporto completo dei temi a livello di sistema senza root per qualsiasi dispositivo Android Oreo.

Schermate visualizzate Tema Android Oreo Black di Sai in esecuzione su un Google Pixel senza root su Android Oreo 8.0.0

Per darti un'idea di come Che sviluppo incredibile sia questo, si consideri che ora sarà possibile quanto segue senza radice:

  • Tematizzazione del Framework Android e interfaccia utente del sistema Android, così come qualsiasi altra applicazione di sistema. (Molti di voi lo faranno Amore avere un tema scuro disponibile, finalmente!)
  • Tematizzazione di qualsiasi applicazione di terze parti
  • Caratteri personalizzati per applicazioni di terze parti
  • Molte altre modifiche come il mod dell'orologio centrale sulla barra di stato

L'elenco potrebbe continuare! Il substrato ha un ampio elenco di temi disponibili che supportano il quadro (tutti supportati nella prossima nuova versione di Substratum per Android 8.0), una comunità attiva su Google+ e il nostro forum, e dato questo sviluppo il sostegno è destinato a crescere!


Android Oreo e il servizio Overlay Manager

Un esempio di alcuni temi del substrato.

Da quando Google ha incorporato supporto nativo per Runtime Resource Overlay di Sony (RRO) motore di temi in Android 6.0 Marshmallow, stavamo aspettando per consentire a Google di fornire un'interfaccia integrata e API pubbliche che gli sviluppatori possono utilizzare per creare temi sia per le applicazioni del framework di sistema che per le applicazioni di terze parti. Purtroppo, la versione di Android Nougat ha portato poche novità da quando l'RRO di Sony è stato aggiunto all'Android Open Source Project (AOSP).

Ma grazie al diligente lavoro degli ingegneri di Sony Mobile, il motore dei temi RRO alla fine si è evoluto in quello che è noto come Overlay Manager Service (OMS), su cui si basa Substratum. Sony è stata pioniera per quanto riguarda una soluzione di temi open source, ma dal momento che il loro motore di temi OMS è stato accettato in AOSP intorno al al momento della versione finale di Android 7.1, l'unico modo per gli utenti di dispositivi non Sony di sfruttare il motore dei temi è tramite un'applicazione personalizzata ROM.

Ciò è cambiato in Android 8.0. Quando Substratum è stato inizialmente rilasciato per il prime anteprime per sviluppatori Android O, gli sviluppatori di Substratum se ne sono resi conto supporto totale per Sony OMS era disponibile. Ciò significa che un utente potrebbe installare un tema esistente supportato da Substratum e funzionerebbe perfettamente sui dispositivi Android Oreo senza richiedere alcuna patch ROM. C'era solo un problema però: il processo di abilitazione di un tema Substratum installato richiedeva l'accesso root, o almeno così pensavano.


Supporto per temi substrato rootless e a livello di sistema per Android Oreo

Mentre gli sviluppatori si concentrano tranquillamente sul problema di fornire agli utenti Android Oreo una soluzione a tema completamente senza root masterizzatore, stavamo esaminando in modo indipendente ogni anteprima per sviluppatori Android O e trovando prove del motore del tema in gioco, Anche se l'abbiamo identificato erroneamente poiché basato sul vecchio RRO piuttosto che sul nuovo OMS di Sony. Google ha persino preso in giro la community riguardo al supporto del tema in a AMA incentrato sullo sviluppatore su Reddit, affermando che c'erano ancora alcuni ostacoli da superare prima che una soluzione tematica completa potesse essere integrata in Android.

Non soddisfatti di questa risposta, volevamo vedere fino a che punto Google si era spinta nell'ottenere il supporto dei temi per Android Oreo. Per farlo, ho approfondito il codice sorgente di Android 8.0 una volta rilasciata la versione finale e ho scoperto il file esistenza di comandi shell ADB che potrebbero abilitare o disabilitare gli overlay, di cui lo scrittore XDA Adam Conway ha parlato ieri.

Disabilitare l'overlay predefinito

Inizialmente, non ero molto colpito dalla scoperta, poiché per quanto ne sapevo all'epoca era funzionalmente inutile poiché io e i miei colleghi avevamo l'impressione che l'installazione un tema richiedeva ancora l'accesso root poiché i file del tema avrebbero dovuto essere spostati in una cartella inaccessibile allo spazio utente (in /system/vendor/overlay, che è come RRO funzionato). Nicola Amico stesso, uno degli sviluppatori principali di Substratum, ha commentato nel nostro post che era a conoscenza dell'esistenza di questi comandi da un bel po' di tempo e lo ha già utilizzato per le build Android O.

Una persona, però, ha visto nascere un'opportunità dopo che ieri abbiamo pubblicato il nostro articolo. XDA è molto personale Jeff Corcoran, lo sviluppatore dietro il nostro servizio interno Applicazione XDA Labs, si è reso conto che esisteva una potenziale soluzione alternativa per far funzionare l'interfaccia della riga di comando nativa di Android Oreo per OMS senza root. Si trattava di un metodo utilizzato da Elio, la popolare soluzione di backup non root e, più recentemente, dall'alternativa open source Greenify nota come Brevente.

Privilegi elevati tramite uno script

Ordinariamente, il "sovrapposizione cmd" i comandi che Google ha aggiunto alla versione Oreo possono essere eseguiti solo tramite un dispositivo con privilegi root o tramite un dispositivo collegato a un computer che invoca la shell Android Debug Bridge (ADB). Una manciata di sviluppatori intelligenti, come gli sviluppatori Helium e Brevent, nel corso degli anni lo hanno capito come elevare essenzialmente i privilegi di un'applicazione in esecuzione sul telefono per farli corrispondere a quelli di ADB conchiglia. In tal modo, l'applicazione può inviare comandi che normalmente non potrebbe a causa di autorizzazioni limitate. Nel caso di Substratum, ciò significa l'applicazione può installare quindi abilitare o disabilitare i temi Substratum senza root.

Questa realizzazione è stata a maggiore svolta scoperta solo ieri sera. Nel corso di poche ore, Nicholas (con l'aiuto di Jeff) è stato in grado di creare una rapida versione alpha di un gestore di temi Substratum senza root per dispositivi Android Oreo. E funziona, ma con alcuni avvertimenti.

Avvertenze sul supporto del substrato senza radici

Il processo richiesto per concedere privilegi elevati alla shell Substratum ADB richiederà l'uso di a molto semplice e leggero applicazione desktop (o semplicemente un comando shell ADB se sai cosa stai facendo). Una volta concesso, Substratum funzionerà come ti aspetteresti essendo in grado di gestire tutti i temi Substratum installati. Tutti i temi installati rimarranno installati finché non scegli di disinstallarlo nuovamente tramite Substratum.

Tuttavia, i privilegi concessi a Substratum sono transitori, come loro vengono persi quando l'utente esegue un riavvio completo (anche se fortunatamente i riavvii graduali dell'interfaccia utente del sistema non perdono il privilegio). Ciò significa che dovrai eseguire nuovamente il programma desktop se hai riavviato il telefono e desideri utilizzare Substratum per aggiungere, rimuovere o modificare un tema. Voglio ribadirlo ancora una volta tutti i temi installati rimarranno installati anche se si riavvia, quindi ciò significa che se desideri modificare solo alcuni temi solo occasionalmente, questo dovrebbe essere perfetto per te. Dovresti anche essere in grado di cambiare tema dal menu Impostazioni, come il Opzione "Tema" dell'anteprima per sviluppatori in Impostazioni schermo riconosce i temi installati e consente di passare da uno all'altro

Infine, l'ultima cosa che devo menzionare è qualcosa che sembra ovvio una volta che ci pensi, ma nella tua eccitazione nel sentire notizie potresti averlo dimenticato. Il tuo dispositivo è ancora senza root. Ciò significa che non puoi toccare o modificare alcun file che richieda assolutamente l'accesso root per essere modificato, anche se il tema Substratum che hai installato prometteva di cambiare qualcosa. Siamo spiacenti, ma sfortunatamente ciò significa che non puoi applicare una modifica al carattere a livello di sistema riporta gli emoji blob, anche se, come accennato all'inizio, it È possibile che un tema Substratum alteri i caratteri delle singole applicazioni.

La necessità del substrato

Adesso sveliamo un dettaglio importante. Quando accadrà? Come menzionato nel titolo, la prima disponibilità pubblica del Substratum rootless per dispositivi Android 8.0 come Google Nexus 5X, Google Nexus 6P, Google Pixel e Google Pixel XL dovrebbe essere entro 1 settimana. Quello è non una garanzia in ogni caso, poiché le cose possono cambiare nel processo di sviluppo e ciò potrebbe richiedere ulteriori investimenti in termini di tempo, ma dal momento che OMS lo è già completamente supportato in AOSP, tutto ciò su cui il team Substratum sta lavorando ora è l'interfaccia tra l'app Substratum e unrooted dispositivi.

Prossimo: sarà gratuito? NO. Il substrato per i dispositivi Android Oreo senza root sarà a domanda a pagamento. Non posso dirti quanto costerà poiché Nicholas non ha ancora deciso un prezzo, ma stai certo che il prezzo sarà giusto dato il valore di ciò che riceverai. Fino a questo momento, Substratum è stato disponibile gratuitamente per molti dispositivi, quindi considera di supportare questo tipo di sviluppo supportando prima il Team Substratum. Puoi aspettare che Google rilasci finalmente quel tema oscuro che hai sempre desiderato (ah, bene uno), oppure puoi investire qualche soldo per sostenere lo sviluppo indipendente che molte persone credono concesso.

Non sei ancora convinto del suo valore? Puoi Tentativo installare i temi Substratum sul tuo dispositivo 8.0 senza root. In effetti, è esattamente quello che abbiamo fatto sopra. Naturalmente abbiamo avuto l'aiuto di Nicholas per farlo. Se desideri installare un tema Substratum esistente dal Google Play Store, ecco i passaggi generali:

  1. Scarica e installa il file APK sul tuo dispositivo.
  2. Estrai i contenuti e compila ogni overlay in un singolo file APK per ogni app a cui vuoi che sia dedicata un tema
  3. Installa ogni singolo file APK overlay che hai compilato manualmente nel passaggio n. 2
  4. Per ogni APK overlay installato, esegui il comando seguente per abilitarlo: cmd overlay enable
  5. Se desideri modificare la priorità degli overlay, utilizza: cmd overlay set-priority PARENT|lowest|highest
  6. Elenca tutti gli overlay installati con: cmd overlay list
  7. Rimuovi eventuali sovrapposizioni che non desideri con: cmd overlay disable

Se vuoi davvero utilizzare la riga di comando per gestire i temi, sii nostro ospite! Personalmente, ero bloccato nel superare il passaggio n. 2. Substratum non usa qualche metodo nascosto che non puoi inventare da solo, ma lo sta creando lontano più facile da gestire. Quando è possibile fare qualcosa manualmente ma un'applicazione può farlo per me molto più facilmente, tendo a lasciare che l'app faccia il suo lavoro. Ma dipende da te.

Personalmente lo sono davvero, davvero emozionato per vedere dove va a finire. Per tutti i dispositivi disponibili che non supportano già un sistema di gestione dei temi integrato (come i dispositivi Motorola o OnePlus), ora hai un altro motivo per attendere con ansia l'aggiornamento Android 8.0. Per quelli di voi che hanno già la fortuna di assaggiare quel dolce Oreo, c'è qualcosa da aspettarsi tra 1 settimana.


PS Utenti Samsung, conoscevate i vostri dispositivi supportano già i temi Substratum senza bisogno di root?

P.P.S Sei uno sviluppatore interessato a saperne di più su Substratum? Dai un'occhiata a Nicholas presentazione fantastica qui!