Come personalizzare il Material You di Android 12 senza root

Come personalizzare il Material You di Android 12 senza root
Vincenzo Ronca
Vincenzo Ronca

Android 12 passerà alla storia come uno dei major update più consistenti mai visti per il robottino verde, soprattutto in termini di rinnovamento dell'interfaccia grafica. Android 12 porta infatti il Material You, che tra le altre cose propone il nuovo sistema di personalizzazone automatica dell'interfaccia in base allo sfondo impostato.

Purtroppo soltanto i dispositivi aggiornati ufficialmente ad Android 12 possono provare a pieno il rinnovamento introdotto da Android 12. E per questi device stanno arrivando ulteriori possibilità di personalizzazione grazie ai Fabricated Overlay. In poche parole queste nuove API permettono, con una procedura non lineare, di ampliare le opzioni di personalizzazione grafica su Android 12 senza la necessità di acquisire i permessi di root. Andiamo a vedere come funzionano e come ci portano a personalizzare i temi secondo lo stile del Material You.

Cosa sono le API Fabricated Overlay

Si tratta di nuove API introdotte da Google con Android 12. Queste permettono di eseguire degli overlay, ovvero di sovrascrivere elementi grafici e non al sistema e alla sua interfaccia grafica. Per concezione sono molto simili Runtime Resource Overlay (RRO) e permettono di cambiare valori di sistema come di cambiare elementi dell'interfaccia grafica, come ad esempio la dimensione della barra di stato.

Rispetto ai precedenti RRO, le API Fabricated Overlay permettono di essere eseguite senza ricorrere alla compilazione di un dedicato apk e senza la necessità di riavviare il sistema. Chiaramente l'esecuzione prevede l'acquisizione di permessi particolari a livello di sistema, una questione sulla quale Google ha lasciato un buco dal punto di vista della sicurezza in Android 12, il che tornerà utile proprio per chi vuole sfruttare le API Fabricated Overlay.

Come sfruttare le API Fabricated Overlay

Dato che in linea teorica è possibile eseguire degli overlay all'interfaccia di sistema tramite le API Fabricated Overlay senza ricorrere all'acquisizione dei permessi di root, qualcuno si è preso la briga di provare la procedura sul campo. Tramite dei comandi adb, in modalità adb wireless che è disponibile per dispositivi mobili a partire da Android 11, si possono progettare dei run per eseguire le API nella shell in modalità adb. La progettazione non è semplice ma tramite il tool Shizuku il tutto è reso meno complicato. A questo indirizzo trovate la guida per usarlo.

Siccome Google si è dimenticata di richiedere l'accesso root per le API Fabricated Overlay ma non per il corrispondente comando shell, è possibile evitare l'acquisizione dei permessi di root ricorrendo alle esecuzione delle Fabricated Overlay come se fossero della categoria Elevated API.

Esempio e app funzionante

Per capire le potenzialità che hanno le API Fabricated Overlay anche per gli utenti finali, basta dare un'occhiata al lavoro svolto dallo sviluppatore zacharee. Questo ha sviluppato una libreria d'esempio in Shizuku e poi un'app per personalizzare alcuni degli elementi di sistema come è possibile fare con Android 12.

Gli esempi che trovate qui in basso mostrano come è possibile abilitare o disabilitare specifici overlay, mentre le successive immagini mostrano come gli stessi overlay personalizzano l'interfaccia utente. Nell'esempio proposto vediamo proprio come la personalizzazione grafica va ben oltre quanto offerto da Google con Android 12 stock.

Questi due esempi sono già disponibili attraverso la pagina dedicata al progetto su GitHub. L'app precompilata, chiamata Overlay Manager, è disponibile sul profilo Patreon dello sviluppatore ed è pronta all'uso su dispositivi aggiornati almeno ad Android 12.

Chiaramente non ci aspettiamo che questa possibilità di personalizzazione rimanga disponibile a lungo, molto probabilmente Google risolverà la vulnerabilità che ne permette l'esecuzione senza root nella prossima versione di Android. 

Fonte: XDA

Commenta