Guide Guide tecniche News

Guida per Android: come usare e impostare lo strumento ADB

Set 26, 2012

author:

Guida per Android: come usare e impostare lo strumento ADB

 

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.

Vera amante di Android, le piace smanettare con ROM e Flash ogni volta che ne ha la possibilità. Modder nell'animo alla ricerca della funzionalità perfetta.
  • mav mav

    Se usb debug non è possibile abilitarlo a causa di un soft brick non è possibile utilizzare i comandi adb perche adb non vede il disposito. Fastboot lo vede ADB no

  • Leonardo

    Ciao ragazzi, mi dice adb non è un comando esterno o interno..cosa posso fare ?