Guida Android: impostare ADB
L’ADB, il cui acronimo significa Android Debug Bridge, è uno strumento che ci permette di comunicare e controllare il dispositivo Android collegato al computer tramite una connessione USB. Questo strumento, insieme a molte altre utility, fa parte dell’Android Software Development Kit (SDK). Prima di poter utilizzare questa guida è consigliato consultare e quindi impostare l’SDK, in modo da poter avere un quadro completo. A questo proposito vi ricordiamo della nostra guida per imparare a conoscere questi potenti e versatili strumenti.
Lo strumento ADB include fondamentalmente tre componenti:
- Un CLIENT, con il quale è possibile eseguire l’applicazione sviluppata sul computer. E’ possibile invocare un client tramite una shell utilizzando il comando adb. Inoltre altri strumenti Android, come il plugin ADT e DDMS, creano client ADB
- Un SERVER, utilizzato come processo di background per l’applicazione sviluppata. Il Server controlla e coordina la comunicazione tra client e l’adb daemon nel momento in cui viene mandata in esecuzione tramite un emulatore o sul dispositivo Android.
- Un DAEMON, ovvero un programma che viene eseguito in background senza uno stretto controllo da parte dell’utente. Questo processo viene eseguito per ogni emulatore o istanza del dispositivo.
COME INSTALLARE L’ADB
Per poter configurare l’ADB è necessario aver installato sul computer l’SDK di Android indipendentemente dal sistema operativo utilizzato. Nel caso in cui non l’abbiate ancora fatto potete seguire questa guida e in caso di qualsiasi problemi o dubbi potete rivolgervi a questo link. Se state usando Windows o Linux come sistema operativo sul computer, l’Android Debug Bridge è stato già installato durante la configurazione dell’SDK.
Se invece possedete un Mac dovete:
- Mandare in esecuzione l’SDK Manager digitando il seguente comando nella finestra terminale:
<sdk>/tools/android
dove <sdk> è ‘indirizzo della cartella dove è salvato l’Android SDK. Esempio: se avete salvato l’SDK sul desktop è comando da digitare sarà: /Users/NomeUtente/Desktop/android_sdk_mac/tools/android.
- Una volta lanciato l’SDK Manager selezionare “Available packages”. Nella schermata che si aprirà successivamente selezionare “Android Repository” o a seconda della versione installata “Sort by Repository” in modo da poter avere una lista di package disponibili ordinata per Repository.
- Mettere il segno di spunta al package “Android SDK Platform-tools” e poi selezionare Install Selected o Install Package (sempre a seconda della versione scaricata). Se la procedura di installazione è andata a buon fine è possibile trovare il file eseguibile binario adb nella sottocartella di platform-tools.
COME VERIFICARE SE L’ADB FUNZIONA CORRETTAMENTE
Una volta installato il package Android SDK Platform-tools, contenente l’ADB, e verificato che il file è presente nella cartella platform-tools, dobbiamo assicurarci che effettivamente funzioni:
- Impostare il dispositivo Android in modalità debug ovvero Impostazioni-> Opzioni Sviluppatore o Sviluppo per chi avesse ancora Gingerbread -> Debug USB (deve esserci il segno di spunta).
- Collegare il dispositivo Android tramite cavo USB al computer.
- Posizionarsi nella cartella contenente l’SDK e aprire un terminale oppure, per gli utenti Windows, una finestra di comando. Digitare quindi il seguente comando: “adb devices”. Dovrebbe apparirvi una schermata come quella nell’immagine qui sotto:
Dove I7500o3Aqkh0 è l’attuale numero seriale del dispositivo. Se non vi compare il numero seriale del dispositivo vuol dire che l’ADB non è stato installato correttamente quindi tornare all’inizio della guida e ripetere la procedura di installazione del file binario corrispondente al vostro sistema operativo.
CODICI E COMANDI PIU’ UTILIZZATI
|
TIPO DI COMANDO |
COMANDO |
DESCRIZIONE |
|
FLAG |
-d |
Dirige il comando al solo dispositivo USB collegato. Restituisce un errore se è presente più di una periferica. |
|
-e |
Dirige il comando all’unico emulatore in esecuzione. Fa ritornare un errore se più di un emulatore è in esecuzione. | |
|
-s <serial number> |
Dirige il comando al dispositivo USB o all’emulatore in base al numero seriale dato. Esegue poi l’overrides della variabile d’ambiente ANDROID_SERIAL. | |
|
devices |
Mostra una lista di tutti i dispostivi connessi indicando il serial number. | |
|
connect <host>:<port> |
Si connette al dispositivo utilizzando un protocollo TCP/IP. | |
|
disconnect<host>:<port> |
Disconnette il dispositivo precedentemente collegato tramite il protocollo TCP/IP. | |
|
COMANDI |
adb push <local><remote> |
Copia il file/dir nel dispositivo. |
|
adb pull <remote>[<local>] |
Copia il file/dir dal dispositivo. | |
|
adb sync[<directory>] |
Copia dall’host al dispositivo solo se questo è cambiato. | |
|
adb shell |
Manda in esecuzione una shell remota in modo interattivo. | |
|
adb shell <command> |
Manda in esecuzione una shell di comando remota. | |
|
adb emu <command> |
Fa eseguire una console di comando dall’emulatore. | |
|
adb logcat [<filter-spec>] |
Comando che permette di visualizzare il registro del dispositivo. | |
|
adb forward <local><remote> |
Controllo delle connessioni. In particolare se sono uno di queste: tcp: <port>, localabstract:<unix domain socket name>, localfilesystem:<unix domain socket name>, dev: <character device name> | |
|
adb jdwp |
Mostra una lista di PID dei processi che ospita un protocollo JDWP (Java Debug Wire Protocol). | |
|
adb install [-1][-r][-s]<file> |
Questo comando mette il file del package selezionato nel dispositivo e lo installa. Esattamente -1 sta ad indicare inviato all’applicazione, -r reinstallare l’applicazione tenendola in memoria e –s installare sull’SD card invece che nella memoria interna. | |
|
adb unistall [-k]<package> |
Rimuove il package dell’applicazione richiamato nel comando dal dispositivo. Esattamente –k sta ad indicare di mantenere le cartelle relative ai dati e alla cache. | |
|
adb bugreport |
Questo comando ritorna tutte le informazioni dal dispostivo che dovrebbero essere incluse in un report dei bug. | |
|
adb help |
Mostra il messaggio di aiuto. | |
|
adb version |
Questo comando mostra il numero della versione dell’adb utilizzato. | |
|
DATA OPTION |
(no option) |
Non toccare la partizione dati |
|
-w |
Esegue un wipe della partizione dati | |
|
-d |
Esegue il flash della partizione dati | |
|
SCRIPT |
adb wait-for-device |
Blocca il processo finchè il dispositivo non è online. |
|
adb start-server |
Controlla che esista un server in esecuzione. | |
|
adb kill-server |
Ferma il server in esecuzione. | |
|
adb get-state |
Stampa lo stato del dispositivo ovvero: offline o bootloader. | |
|
adb get-serialno |
Stampa il serial number del dispositivo. | |
|
adb status-window |
Stampa continuamente lo stato del dispositivo per un dispositivo Android specifico. | |
|
adb remount |
Monta nuovamente la partizione del dispositivo di lettura-scrittura. | |
|
adb reboot[bootloader|recovery] |
Riavvia il dispositivo in modalità bootloader o recovery a seconda della scelta inserita nel comando. | |
|
adb root |
Riavvia l’adb deamon con i permessi di root. | |
|
adb usb |
Riavvia l’adb deamon in attesa del collegamento USB. | |
|
adb tcpip <port> |
Riavvia l’adb deamon in attesa del protocollo TCP sulla porta specificata nel comando. | |
|
NETWORK |
adb ppp <tty>[parameters] |
Manda in esecuzione il protocollo PPP (Point-to Point Protocol) attraverso l’USB. Attenzione: non si dovrebbe avviare automaticamente la connessione PPP. |
|
SYNC |
adb sync [<directory>] |
Si può interpretare in diversi modi: se la <directory> non è specificata questo comando aggiornerà entrambe le partizioni /system e /data. Se invece /system o /data sono specificate verrà aggiornata solo la partizione indicata nel comando. |
Se vi interessa l’argomento e volete approfondire le tematiche venite a trovarci nella sezione “Modding e Supporto” del nostro forum.













