Ok, lo ammetto: ho esagerato un po' nel titolo. Infatti chi sa cos'è root su un sistema Unix (come Linux, alla base di Android), saprà bene che... non esiste una vera alternativa! Tuttavia è possibile elevare i normali permessi di un applicazione per farla lavorare come un utente con maggiori privilegi, come se fosse l'app Shell, che è l'app che esegue diversi comandi impartiti con ADB. Come? Con Shizuku! L'esagerazione nel titolo però non riguarda "facile" perché, a differenza del root che di solito richiede un computer e un bel po' di lavoro, con Shizuku possiamo fare tutto in pochi minuti dal nostro dispositivo collegato ad un Wi-Fi (anche senza connessione internet)!

[Android 11+] Shizuku: 'alternativa facile root!

Anche se oggi il root non è tanto più necessario come una volta, risulta sempre indispensabile ma solo per alcune particolari operazione. Ho scritto "solo alcune" perché la maggior parte delle operazioni che generalmente vengono fatte con i permessi di root (come, ad esempio, disinstallare le app di sistema o modificare i permessi delle app utente), possono essere fatte con molti meno privilegi, sfruttando ad esempio Android Debug Bridge.

» Leggi: Android: è ancora necessario diventare root??

Generalmente si deve, però, prima configurare l'ambiente di debug sul nostro computer e poi o impartire i comandi manualmente oppure utilizzare alcune app che, una volta autorizzate sempre tramite ADB, possono sfruttare i privilegi permessi dalla piattaforma per sviluppatori. Ma ecco che entra in gioco Shizuku, che funziona da interfaccia per tutte quelle app che richiedono l'elevazione dei privilegi (e che devono essere programmate per sfruttare Shizuku!), utilizzando proprio ADB ma senza necessità di utilizzare un computer.

Rispetto al root, questo metodo ha diversi vantaggi: poiché utilizza direttamente i componenti già presenti sul sistema, piuttosto che appoggiarsi ad un ulteriore programma (come appunto su, caratteristico di root) eseguito direttamente dal kernel (e per questo dispendioso in termini di risorse e tempo) risulta anche molto più efficiente. Un altro vantaggio nell'utilizzo di Shizuku al posto di root è che non viene in alcun modo modificata nessuna partizione di sistema, garantendo il funzionamento di tutte quelle app che, trovando una modifica importante, non funzionerebbero (come ad esempio le app per il pagamento contactless, alcuni giochi, Tv on demand,...). Come detto poi, attivare Shizuku è molto più facile che eseguire il root del dispositivo, perché non c'è bisogno di computer, né di sblocco del bootloader, né di una custom Recovery, né dell'immagine della partizione di sistema, può quindi essere utilizzato su tutti i dispositivi con almeno Android 11 ed è veramente alla portata di tutti! Come detto, oltre all'app, l'unico requisito per l'attivazione di Shizuku (e solo per l'attivazione, non per l'utilizzo!), è una rete Wi-Fi alla quale connettersi (che può anche essere isolata da internet) indispensabile per attivare il Debug wireless.

» Leggi: Guida a Magisk: il nuovo root per Android

Naturalmente c'è anche il risvolto della medaglia: i permessi che è possibile ottenere sono sempre molto limitati rispetto a root, in caso di riavvio del dispositivo, poi, il servizio di Shizuku dovrà essere riattivato (sempre utilizzando una connessione Wi-Fi).

Devo poi specificare che Shizuku non esclude o va in conflitto con il root ma può benissimo convivere con questo, sfruttandolo, anzi, proprio per rendere il servizio persistente ed evitare la riattivazione al riavvio. Il vantaggio di utilizzarlo insieme al root è quello di concedere alle app solo i permessi strettamente necessari al funzionamento anziché i massimi privilegi (ad esempio, per la disattivazione delle app di sistema non serve essere root è sufficiente farlo come utente Shell!).

Installazione

Chiariti i pro e i contro, se abbiamo il nostro telefono e una rete Wi-Fi sotto mano, possiamo subito passare all'installazione e all'attivazione di Shizuku!

Possiamo trovare l'app sul Play Store e, una volta installata e avviata, una chiara schermata ci informa che il servizio di Shizuku non è ancora attivo e ci offre ben 3 metodi per l'attivazione. Questa guida sarà incentrata solo sull'attivazione direttamente dal dispositivo connesso tramite Wi-Fi perché rappresenta il metodo più pratico ma vediamo brevemente anche gli altri 2.

[Android 11+] Shizuku: 'alternativa facile root!

L'ultimo nella lista è l'avvio tramite root: se il nostro dispositivo è "rootato" sarà sufficiente solo tappare sul tasto Avvia e concedere l'accesso al root. Se gestite il root tramite Magisk, anziché Shizuku, potete provare il modulo Sui.

Gli altri due metodi prevedono entrambi una preparazione del dispositivo: lo sblocco delle Opzioni sviluppatore e l'attivazione del Debug, in un caso USB, nell'altro Wireless. Attenzione: se attivate Shizuku tramite Wi-Fi, seguendo questa guida, dovrete assicurarvi di attivarli entrambi, altrimenti, quando vi scollegherete dal Wi-Fi, Shizuku potrebbe "perdere" il servizio in esecuzione!!

Per lo sblocco delle Opzioni Sviluppatore vi rimando a questo articolo.

» Leggi: Guida Android: come abilitare il Debug USB / interfaccia di Android Debug Bridge (ADB) e le Opzioni sviluppatore

[Android 11+] Shizuku: 'alternativa facile root!

Il secondo metodo in lista prevede l'utilizzo di un computer dove dobbiamo già aver configurato il client per debug di Android, adb e, se siamo su Windows, caricato i giusti driver per rilevare il nostro dispositivo.

» Leggi: Guida facile per principianti: come installare ADB (Android Debug Bridge) e Fastboot sul PC Windows e impartire comandi allo smartphone Android

Questo metodo prevede, dopo aver connesso il nostro dispositivo al computer e fatto sì che questo sia correttamente rilevato, di avviare un script tramite adb con il comando

adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

Questo script non fa altro che avviare l'eseguibile (che si trova nello stesso percorso dello script e nominato starter) responsabile della gestione dei permessi e, sotto sotto, è la stessa cosa che avviene con il primo metodo della lista nell'app di Shizuku che vedremo a breve. Come per l'attivazione tramite Wi-Fi, questa procedura deve essere eseguita ad ogni riavvio del dispositivo.

L'attivazione tramite Wi-Fi prevede di utilizzare sempre ADB ma in maniera diversa da quanto visto in precedenza. Dato che da Android 11 è possibile eseguire il debug di Android senza necessità di collegare fisicamente il dispositivo al computer con un cavetto, ma totalmente "wireless", Shizuku può sfruttare questa capacità.

Per prima cosa, dopo che abbiamo sbloccato le Opzioni sviluppatore, mentre siamo connessi ad una rete Wi-Fi, attiviamo il Debug Wireless (e già che ci siamo anche il Debug USB!); apparirà un messaggio che ci chiede se vogliamo consentire il debug wireless su quella rete, mostrando il nome della rete (SSID) e anche il BSSID con la possibilità di selezionare l'opzione Consenti sempre su questa rete, prima di toccare Consenti. Un altra cosa molto importante è attivare lo switch a Disattiva timeout attivazione ADB

[Android 11+] Shizuku: 'alternativa facile root!

A questo punto apriamo l'app di Shizuku e tocchiamo Accompiamento; apparirà una notifica in alto Ricerca del servizio di accoppiamento e possiamo toccare su Modalità Sviluppatore per tornare alla pagina dove potremo configurare (e riattivare se si è disattivato) il Debug wireless semplicemente toccando il testo piuttosto che lo switch a lato. Dovremo poi selezionare Accoppia dispositivo con codice di accoppiamento: a questo punto apparirà una finestra che mostra un codice numerico e poco dopo dovrebbe tornare in primo piano anche la notifica di Shizuku con Servizio di accoppiamento trovato e poco sotto Inserisci codice accoppiamento. Toccando questa seconda riga avremo la possibilità di inserire il codice di accoppiamento, confermando l'operazione toccando il triangolino a destra e, se tutto è andato bene, una nuova notifica di Shizuku ci informerà dell'Accoppiamento avvenuto con successo.

[Android 11+] Shizuku: 'alternativa facile root!

Adesso non ci rimane altro da fare che tornare all'app di Shizuku e toccare Avvia; ci verranno mostrati i comandi eseguiti con la shell di adb e infine tornerà alla schermata iniziale che questa volta ci informerà che il servizio di Shizuku è in esecuzione e che per il momento sono state autorizzate 0 applicazioni.

[Android 11+] Shizuku: 'alternativa facile root!

Molto interessante è la possibilità di utilizzare Shizuku nell'app terminale e in particolare nella mia app terminale preferita: Termux! Seguendo le chiare istruzioni messe a disposizione da Shizuku è possibile eseguire la shell di adb direttamente in Termux, tramite l'eseguibile rish

[Android 11+] Shizuku: 'alternativa facile root!

In questo modo si può apprezzare l'elevazione dei privilegi messa a disposizione di Shizuku: il comando whoami restituisce l'ID dell'utente che lo esegue (nel mio caso u0_a232) ma se eseguito anteponendo rish -c e concesso il permesso a Termux di utilizzare Shizuku, il risultato è l'utente di sistema shell

[Android 11+] Shizuku: 'alternativa facile root!

Di vitale importanza per il corretto funzionamento di Shizuku è l'esclusione di questa app dall'Ottimizzazione delle batteria e qualunque altro sistema di risparmio batteri/aumento delle prestazioni/liberazione della memoria/... il produttore del vostro telefono abbia pensato bene di offrirvi. Per una guida di massima pottete fare riferimento a dontkillmyapp.com

Quali app si possono utilizzare con Shizuku?

Eseguire i comandi della shell di adb direttamente dal dispositivo consente di fare diverse cose ma questi comandi... si devono conoscere! Se non li conoscete ma volete impararli anziché Termux con rish potete utilizzare aShell (disponibile anche su F-Droid), che non richiede configurazioni aggiuntive (solo la concessione del permesso di utilizzare Shizuku) e che contiene al suo interno una serie di esempi di comandi che potete utilizzare, con tanto di descrizione.

Hail consente invece di avviare, disattivare, freezare, nascondere le app presenti sul dispositivo e sono comprese naturalmente quelle di sistema. Se invece volete proprio disinstallare alcune app di sistema, allora Canta è l'app che vi serve.

In caso voleste modificare i permessi delle applicazioni allora App Ops - Permission Manager, dallo stesso sviluppatore di Shizuku, è l'app che dovete provare. System UI Tuner consente invece di modificare impostazioni nascoste di Android.

Anche Aurora Store e F-Droid possono sfruttare Shizuku per attivare il servizio per l'installazione completamente automatica degli aggiornamenti delle applicazioni.

» Leggi: Guida a F-Droid: il miglior market alternativo per Android

» Leggi: [Android] Come installare app a pagamento tramite Aurora Store

Naturalmente queste non sono le sole app che utilizzano Shizuku ma sono alcune che io trovo più interessanti. Per una lista più completa (ma comunque non esaustiva) potete dare un occhiata qui.