Come abbiamo più volte evidenziato, secondo noi accordare agli utenti la possibilità di effettuare il rooting del loro dispositivo – una volta ben comprese le conseguenze – dovrebbe essere un aspetto imprescindibile. Invece, per ogni dispositivo Android è necessario seguire procedure diverse, spesso assolutamente non alla portata dell’utente normale.
A sostenerlo non siamo solamente noi: la stessa posizione è stata più volte espressa, ad esempio, dal “padre del Web” Tim Berners-Lee (Berners-Lee parla di device mobili: account root e HTML5) oltre che da altri analisti ed esperti.
Il root di Android consiste nell’acquisizione di quei privilegi amministrativi che il produttore non mette mai a disposizione dell’utente che acquista il dispositivo mobile. Il risultato è che alcuni processi e applicazioni di sistema possono usare i privilegi più ampi in assoluto mentre l’utente, nella configurazione predefinita, non può mai acquisire i privilegi di root.
Utilizzando l’utente root su Android è possibile effettuare qualunque genere di operazione, compresa la modifica di tutte le impostazioni del sistema operativo e degli altri software installati. Per questo l’acquisizione dei privilegi di root è malvista sia da Google che da molti sviluppatori.
Google, ad esempio, non accetta sul suo Play Store la pubblicazione di alcuna app in grado di effettuare il rooting del dispositivo Android (mentre ospita senza alcun problema quelle che per funzionare necessitano dei diritti di root).
Servizi di streaming audio e video, applicazioni di online banking e diverse altre categorie di applicazioni Android verificano la configurazione del dispositivo e in caso di rooting effettuato con successo si rifiutano di funzionare. Cosa tra l’altro non proprio simpatica sui dispositivi Android più vecchi che l’utente ha dovuto “sbloccare” per installare una versione del sistema operativo più recente (cosa sensatissima anche dal punto di vista della sicurezza: Aggiornamento Android: come verificare la sicurezza del proprio dispositivo).
Per approfondire suggeriamo anche la lettura dell’articolo Modificare un’app Android e alterarne il comportamento.
Va detto che oggi eseguire il root di Android risulta strettamente necessario proprio in questi frangenti ovvero quando si usano versioni di Android vecchie non più aggiornate dal produttore del dispositivo e, quindi, vulnerabili. Installare ROM personalizzate sostituendo il firmware ufficiale è quindi un’ottima strategia per ridare nuova vita al tablet o allo smartphone Android mettendosi al riparo da potenziali problemi di sicurezza.
Per ciascun modello di smartphone o tablet Android esistono in circolazione diverse guide pratiche che consentono di raggiungere l’obiettivo prefisso. La procedura di rooting, come detto, varia da dispositivo a dispositivo anche se solitamente i passaggi da seguire sono molto simili ed è possibile riassumere i punti salienti.
Root Android: i passaggi principali per raggiungere l’obiettivo
Di solito il root di Android inizia con la fase di sblocco del bootloader ovvero del programma che nella fase di avvio del dispositivo carica il kernel del sistema operativo dalla memoria flash.
Il bootloader evita il caricamento di codice che non riporta la firma digitale del produttore del dispositivo con il risultato che la semplice procedura per l’acquisizione dei permessi di root non andrebbe mai a buon fine. Presentiamo quindi seguito i passaggi essenziali per il rooting del dispositivo Android.
Suggeriamo di leggere tutti i passaggi fino in fondo perché in chiusura abbiamo presentato alcuni tool gratuiti che automatizzano le operazioni illustrate e in alcuni casi le rendono effettuabili con un semplice clic.
1) Creare un backup completo del contenuto del dispositivo mobile e tenere presente che la procedura di rooting invalida la garanzia.
Il root di Android dovrebbe essere effettuato solo sui dispositivi di basso costo o fuori garanzia, ad esempio nella già citata situazione in cui il produttore non rilasciasse più alcun aggiornamento o il supporto ufficiale fosse ormai ritirato.
È vero che bootloader e rooting possono essere eventualmente annullati ma in molti casi è possibile risalire all’avvenuta operazione in passato (con le condizioni di garanzia che non vengono più accordate).
Inoltre, lo sblocco del bootloader come descritto più avanti comporta il reset del dispositivo alle impostazioni iniziali con la conseguente perdita di tutti i dati precedentemente memorizzati: da qui la necessità di operare un backup completo o comunque delle informazioni che non si possono perdere.
2) Fare riferimento al sito web o comunque alle indicazioni del produttore per richiedere l’autorizzazione per lo sblocco del bootloader. I principali produttori mettono a disposizione una pagina attraverso la quale, previa identificazione del dispositivo mobile, viene accordata l’autorizzazione allo sblocco.
In alcuni casi lo sblocco del bootloader non è ufficialmente supportato e bisognerà sfruttare bug noti insieme con strumenti “ad hoc”. Suggeriamo di fare riferimento al forum di XDA Developers per trovare le procedure più aggiornate per ciascun modello di device Android.
3) Attivare le Opzioni sviluppatore nelle impostazioni di Android. Attivare l’installazione di applicazioni da sorgenti sconosciute. Portandosi nelle impostazioni di Android, bisognerà toccare Info sul telefono oppure Info sul tablet quindi individuare la voce Numero build e toccarla rapidamente per almeno sette volte.
Così facendo comparirà la nuova voce di menu Opzioni sviluppatore: portandosi al suo interno si dovrà attivare l'”interruttore” Debug USB attivando anche l’installazione di app da sorgenti sconosciute. Se presente, attivare anche Sblocco OEM.
4) Scaricare i software ADB e Fastboot. Suggeriamo di scaricare e installare e installare su un PC Windows i seguenti software che permetteranno di interagire direttamente, da riga di comando, con il dispositivo Android via ADB (Android Debug Bridge):
– Driver ADB
– Minimal ADB and Fastboot
5) Collegarsi al dispositivo via ADB. Riavviato il sistema e connesso il dispositivo Android via USB, si dovrà aprire la cartella Minimal ADB and Fastboot (generalmente in C:\Program files (x86)
o in C:\Program files
) dall’interfaccia di Windows. Tenendo premuto il tasto MAIUSC e cliccando con il tasto destro del mouse in un’area libera della cartella Minimal ADB and Fastboot, si dovrà selezionare Apri finestra di comando qui oppure Apri finestra PowerShell qui
.
In questo secondo caso, alla comparsa della schermata a sfondo blu, digitare cmd
e premere Invio.
Con il comando adb devices
si potrà verificare l’avvenuto riconoscimento del dispositivo (ne verrà mostrato il numero di serie).
L’accesso al dispositivo Android dovrà essere esplicitamente autorizzato dall’interfaccia del device (ripetere eventualmente il comando adb devices
fino alla scomparsa dell’indicazione unauthorized).
A questo punto si potrà digitare quanto segue per richiedere il riavvio del dispositivo mobile Android in modalità fastboot:
Alla comparsa della schermata fastboot, si potrà provare a sbloccare il bootloader con il comando fastboot oem unlock
oppure fastboot flashing unlock
, valido per altri dispositivi.
La comparsa del messaggio OKAY conferma l’avvenuto sblocco del bootloader. Nella stragrande maggioranza dei casi la procedura non andrà a buon fine perché è necessario digitare il codice autorizzativo ottenuto dal produttore.
Dopo aver effettuato il login sul sito del produttore, previa attivazione di un account gratuito, verrà richiesto di digitare il codice identificativo del proprio dispositivo mobile.
Con il dispositivo Android sempre in modalità fastboot, si dovrà scrivere il comando fastboot oem get_unlock_data
. Si otterrà qualcosa di simile quanto riprodotto in figura:
Il codice ottenuto dovrà essere selezionato, copiato in memoria (dal prompt di Windows basta premere il tasto Invio) e incollato in un editor di test come Notepad++ CTRL+V
.
Il codice dovrà essere “aggiustato” eliminando le parti non necessarie (nell’esempio il prefisso (bootloader)
) e “compattandolo” su un’unica riga.
Copiando e incollando il codice ricevuto dal dispositivo Android sul sito del produttore si riceverà in risposta, finalmente, il codice per lo sblocco del bootloader.
Esso essere comunicato al dispositivo Android digitando quanto segue:
Dopo la ricezione del messaggio di conferma OKAY, si dovrà confermare la volontà di sbloccare il bootloader spostandosi con i tasti Volume.
Suggeriamo comunque di far riferimento al forum di XDA Developers per sapere se per il proprio dispositivo mobile fossero applicabili specifiche procedure alternative per lo sblocco del bootloader.
6) Sostituzione della recovery ufficiale con una di terze parti. Sbloccato il bootloader, un importante pezzo di strada è già compiuto. A questo punto ciò che c’è da fare è sostituire la recovery ossia lo strumento che permette di ripristinare il dispositivo in situazioni di emergenza implementato dal produttore con uno di terza parte.
Usando quest’ultimo sarà di fatto possibile accedere alla memoria del dispositivo e installare una ROM alternativa.
TWRP (Team Win Recovery Project) è un popolarissimo ambiente per la gestione avanzata del dispositivo mobile che appunto permette di installare ROM di terze parti, effettuare backup e ripristino delle immagini di sistema via a via create e, naturalmente, acquisire i diritti di root.
Il vantaggio non è quindi soltanto quello di poter passare, al bisogno, a versioni di Android diverse e più aggiornate ma anche di creare backup dell’installazione del sistema operativo, ripristinabili agilmente in caso di necessità.
TWRP può essere scaricato, nella versione sviluppata per il proprio modello di smartphone Android, a questo indirizzo (fare riferimento esclusivamente ai link riportati in corrispondenza della dizione Download links per scaricare la versione più aggiornata del software).
L’immagine in formato .img
dovrà essere rinominata come twrp.img
e copiata nella cartella Minimal ADB and Fastboot.
Il comando seguente per installare TWRP nel dispositivo mobile e configurarlo come nuova recovery:
A procedura conclusa, per avviare TWRP, si dovrà tenere premuto il tasto Volume su e, contemporaneamente, mantenere premuto anche il tasto di accensione per circa mezzo minuto (lo stesso meccanismo può essere usato a dispositivo spento).
TWRP si avvia esclusivamente dalla modalità fastboot: per accedervi si può quindi utilizzare il comando adb reboot bootloader
visto in precedenza da prompt di Windows o la combinazione di tasti prevista per il proprio dispositivo (scegliere l’opzione Recovery per caricare TWRP).
Utilizzando Settings, si potrà scegliere la voce Set language per impostare la lingua italiana per l’interfaccia di TWRP.
7) Ottenere i permessi di root sul dispositivo Android. Per effettuare il root di tablet e telefoni Android, a questo punto, è necessario disporre di apposito codice (ad esempio Magisk), caricabile sul dispositivo mediante TWRP, che permette di raggiungere il traguardo prefisso.
Anche qui non è possibile generalizzare e suggeriamo di consultare il forum di XDA Developers per trovare le istruzioni per il proprio specifico dispositivo.
Per automatizzare il root di Android, tra le migliori applicazioni in assoluto ci sono Kingo Root che permette di provare a effettuare l’operazione di sblocco del dispositivo da un PC Windows con il device Android connesso via cavo USB.
Per i dispositivi Google Nexus citiamo Nexus Root scaricabile da questa pagina.
Portandosi a questo indirizzo è possibile trovare tutte le guide passo-passo di XDA Developers per ciascun modello di dispositivo Android.
In alcuni casi viene distribuita un’immagine di boot modificata contenente Magisk.