ADB (Android Debug Bridge) è un'utilità da riga di comando versatile che fa parte dell'SDK Android. Consente al computer di interagire direttamente con un dispositivo Android tramite cavo USB o Wi-Fi. Con ADB è possibile installare e disinstallare applicazioni, copiare file, eseguire comandi shell, visualizzare i log di sistema, fare screenshot e registrare lo schermo, gestire le impostazioni ed eseguire persino test automatizzati. Lo strumento è indispensabile per sviluppatori, tester e appassionati che desiderano il controllo completo sul dispositivo.
Punti chiave
Android Debug Bridge (ADB) è un'applicazione client-server composta da tre componenti: un client (eseguito sul computer), un server (processo in background sul computer) e un demone adbd (eseguito sul dispositivo Android stesso). Quando uno sviluppatore o un ingegnere collega uno smartphone al PC, ADB crea un canale di comunicazione affidabile attraverso il quale è possibile trasmettere comandi, file e dati.
I principali casi d'uso di ADB includono il debug di applicazioni su un dispositivo reale senza dover pubblicare un APK in un negozio, l'estrazione di log per l'analisi degli errori, l'automazione dei test, il backup dei dati, il flashing di immagini di recovery e l'ottenimento dell'accesso root. Anche se non scrivi codice, ADB può essere utile per estrarre screenshot dalle app, registrare una guida video dallo schermo del telefono o recuperare un dispositivo dopo un aggiornamento firmware fallito.
Il supporto ADB è integrato in tutte le build ufficiali di Android a partire dalla versione 2.1 (API 7). Richiede l'opzione Debug USB attivata nelle impostazioni sviluppatore. A partire da Android 4.2, alla prima connessione il dispositivo richiede una conferma: è necessario autorizzare il debug per il computer specifico tramite la sua chiave RSA.
Per Windows — scarica Platform Tools dal sito ufficiale di Google Developers, estrai l'archivio nella cartella C:\adb e aggiungi questo percorso alla variabile d'ambiente PATH. Dopo aver riavviato il terminale, il comando adb sarà disponibile globalmente.
Per macOS — il modo più semplice è installare ADB tramite il gestore pacchetti Homebrew: esegui brew install android-platform-tools. Tutte le dipendenze verranno risolte automaticamente.
Per Linux — sulle distribuzioni basate su Debian/Ubuntu: sudo apt install adb. Dopo l'installazione, aggiungi l'utente al gruppo plugdev: sudo usermod -aG plugdev $USER e riaccedi per consentire ad ADB di accedere ai dispositivi USB.
Verifica l'installazione con il comando adb version. Se l'output mostra il numero di versione di Android Debug Bridge, lo strumento è pronto per l'uso.
Prima connessione inizia sempre con il comando adb devices. Mostra un elenco dei dispositivi connessi e il loro stato. Se il dispositivo appare come unauthorized, sblocca lo schermo e conferma il debug sul telefono.
adb devices
List of devices attached
emulator-5554 device
0123456789ABCD device
Installazione di un'app — una delle operazioni più frequenti. Basta specificare il percorso del file APK:
adb install C:\apps\myapp.apk
Se l'app è già installata ma deve essere sostituita con una versione aggiornata, aggiungi il flag -r (replace):
adb install -r C:\apps\myapp-v2.apk
Disinstallazione di un'app viene eseguita per nome del pacchetto:
adb uninstall com.example.myapp
Copia di file — adb pull estrae un file dal dispositivo al computer, adb push carica un file sul dispositivo:
adb pull /sdcard/DCIM/screenshot.png .
adb push myfile.txt /sdcard/Documents/
Shell interattivo — il comando adb shell apre la shell dei comandi del dispositivo. Al suo interno è possibile eseguire comandi Linux standard: ls, ps, top, dumpsys, pm, am e altri.
adb shell
tissot_sprout:/ $ ls -la /sdcard/
tissot_sprout:/ $ ps | grep com.android.chrome
Avvio di un'attività tramite ADB consente di aprire qualsiasi app o schermata senza cercare manualmente l'icona:
adb shell am start -n com.android.chrome/com.google.android.apps.chrome.Main
Logcat è il sistema di logging di Android che raccoglie messaggi da applicazioni, servizi di sistema e kernel. Lo strumento è indispensabile per il debug: i log aiutano a capire perché un'app è crashata, quale metodo ha causato un'eccezione o quanto tempo richiede un'operazione specifica.
Un avvio semplice senza filtri — adb logcat. Il flusso dei log è infinito; premi Ctrl+C per fermarlo. Per filtrare i messaggi per tag, usa il parametro -s:
adb logcat -s MainActivity:V
Livelli di gravità del logging (dal più dettagliato al critico): V (Verbose), D (Debug), I (Info), W (Warning), E (Error), F (Fatal). La combinazione di tag e livello consente di evidenziare solo i messaggi necessari.
Per pulire il buffer accumulato prima di un test:
adb logcat -c
E per salvare i log in un file:
adb logcat -d > app_logs.txt
Il flag -d (dump) restituisce il buffer corrente e termina senza bloccare il terminale. Questo è utile per script di automazione.
Screenshot viene eseguito con il comando adb shell screencap. Il risultato viene salvato in un file che viene poi recuperato tramite adb pull:
adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png
È possibile combinare entrambe le operazioni in una riga utilizzando sostituzione e pipe. In pratica, questo accelera la creazione di documentazione e report di test.
Registrazione schermo è disponibile su Android 4.4+ (API 19). La durata predefinita della registrazione è di 180 secondi, il bitrate è di 4 Mbps. Il comando principale:
adb shell screenrecord /sdcard/demo.mp4
Per fermare la registrazione premi Ctrl+C. La risoluzione video corrisponde alla risoluzione dello schermo del dispositivo ma non supera 1080p. Per modificare il bitrate, specifica --bit-rate:
adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4
Comandi diagnostici: adb shell dumpsys restituisce lo stato di tutti i servizi di sistema. Per ottenere solo le informazioni sulla batteria:
adb shell dumpsys battery
L'elenco dei pacchetti installati si ottiene tramite Package Manager:
adb shell pm list packages
Reset delle impostazioni dell'app (equivalente a cancellare i dati nelle impostazioni):
adb shell pm clear com.example.myapp
Debug Wi-Fi elimina la necessità di mantenere il dispositivo connesso via USB. Assicurati che computer e dispositivo siano sulla stessa rete. Prima esegui adb tcpip 5555, scollega l'USB, poi connettiti tramite IP:
adb tcpip 5555
adb connect 192.168.1.100:5555
Se l'indirizzo IP del dispositivo è sconosciuto, scoprilo tramite adb shell ip addr show wlan0 prima di scollegare il cavo.
Backup dei dati di un'app o dell'intero sistema può essere eseguito senza root:
adb backup -apk -shared -all -system -f mybackup.ab
Ripristino da un backup:
adb restore mybackup.ab
Emulazione di input — il comando adb shell input consente di simulare tocchi, swipe, pressioni di tasti e immissione di testo. Questa è la base per l'automazione dei test UI senza framework aggiuntivi:
adb shell input tap 500 1000
adb shell input swipe 300 500 800 500
adb shell input text "Hello, ADB!"
Riavvio in diverse modalità:
adb reboot # normal reboot
adb reboot recovery # recovery mode
adb reboot bootloader # bootloader (fastboot)
La modalità fastboot fornisce l'accesso per il flashing di immagini, lo sblocco del bootloader e l'installazione di recovery personalizzata.
Quando più dispositivi o emulatori sono collegati simultaneamente, ADB richiede un numero di serie specifico. Il comando adb devices elenca tutti i dispositivi connessi con i loro numeri di serie.
Per indirizzare un comando a un dispositivo specifico usa il flag -s:
adb -s 0123456789ABCD install myapp.apk
Se c'è un solo dispositivo, il flag può essere omesso. Tuttavia in un ambiente CI dove più emulatori vengono eseguiti simultaneamente, specificare il numero di serie è obbligatorio.
Uccidere il server ADB — se un dispositivo smette di essere rilevato o genera un errore, riavviare il server aiuta:
adb kill-server
adb start-server
Dopodiché esegui adb devices — il server si riavvierà e reindirizzerà le richieste ai demoni dei dispositivi.
| Comando | Descrizione |
|---|---|
| adb devices | Mostra elenco dispositivi connessi |
| adb install |
Installa file APK sul dispositivo |
| adb uninstall |
Disinstalla app per nome pacchetto |
| adb shell | Apre una shell interattiva |
| adb push |
Copia file dal computer al dispositivo |
| adb pull |
Copia file dal dispositivo al computer |
| adb logcat | Visualizza log di sistema e app |
| adb shell screencap | Cattura screenshot |
| adb shell screenrecord | Registra video dello schermo |
| adb reboot | Riavvia il dispositivo |
| adb tcpip 5555 | Passa ADB a modalità TCP/IP per Wi-Fi |
| adb connect |
Connette al dispositivo via Wi-Fi |
Domande frequenti
Apri Impostazioni → Informazioni sul telefono e tocca Numero build 7 volte. Torna al menu principale delle impostazioni — apparirà la sezione Opzioni sviluppatore. All'interno, attiva Debug USB. A partire da Android 4.2, al primo collegamento al computer, è necessario confermare la chiave RSA di debug sullo schermo del dispositivo.
Il dispositivo non si fida del computer. Sblocca lo schermo del telefono; quando appare la finestra Consenti debug USB, spunta Consenti sempre per questo computer e tocca OK. Se la finestra non appare, scollega e ricollega il cavo USB oppure esegui adb kill-server && adb start-server.
ADB non richiede interazione con lo schermo. Collega il dispositivo via USB, attendi che appaia in adb devices (se il debug era già attivato) ed esegui adb install
ADB installa l'APK direttamente, bypassando i controlli di Google Play Protect durante l'installazione, consentendo di testare le app prima della pubblicazione. Tuttavia il controllo finale per malware viene comunque eseguito dopo l'installazione. ADB non richiede un account Google, il che è importante per i chioschi aziendali e i dispositivi senza servizi Google.
Sì, la stragrande maggioranza dei comandi ADB funziona senza root. Le eccezioni sono comandi che richiedono l'accesso a partizioni di sistema protette (ad esempio, dump diretto della partizione boot o modifica di file di sistema). Per le attività quotidiane — installare app, logging, screenshot, backup, emulazione di input — non è necessario il root.
ADB (Android Debug Bridge) è uno strumento fondamentale per chiunque lavori con Android a livello professionale. Dall'installazione base delle app all'automazione complessa dei test e al recupero dei dispositivi — ADB copre praticamente ogni scenario di interazione tra computer e smartphone o tablet.
Padroneggiando i comandi descritti in questo articolo, sarai in grado di gestire con sicurezza un dispositivo Android tramite terminale, analizzare i log, fare screenshot per la documentazione, eseguire backup e accelerare il processo di sviluppo. La pratica regolare e lo studio dell'output di adb help ti renderanno un utente esperto di questo potente strumento.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche