Android supporta una varietà di periferiche USB e accessori USB Android (hardware che implementa il protocollo accessorio Android) attraverso due modalità: accessorio USB e host USB. Nella modalità accessorio USB, l’hardware USB esterno funge da host USB. Esempi di accessori potrebbero includere controllori di robotica; docking station; apparecchiature diagnostiche e musicali; chioschi; lettori di schede; e molto altro ancora., Questo dà dispositivi Android-powered che non dispongono di funzionalità host la possibilità di interagire con l’hardware USB. Gli accessori USB Android devono essere progettati per funzionare con dispositivi Android e devono rispettare il protocollo di comunicazione degli accessori Android. In modalità host USB, il dispositivo Android-powered agisce come l’host. Esempi di dispositivi includono fotocamere digitali, tastiere, mouse e controller di gioco. I dispositivi USB progettati per un’ampia gamma di applicazioni e ambienti possono comunque interagire con le applicazioni Android in grado di comunicare correttamente con il dispositivo.,
La figura 1 mostra le differenze tra le due modalità. Quando il dispositivo Android-powered è in modalità host, agisce come l’host USB e alimenta il bus. Quando il dispositivo Android è in modalità accessorio USB, l’hardware USB collegato (in questo caso un accessorio USB Android) funge da host e alimenta il bus.
Figura 1. USB Host e modalità accessori
USB accessorio e modalità host sono direttamente supportati in Android 3.1 (API livello 12) o piattaforme più recenti. Modalità accessorio USB è anche backported per Android 2.3.,4 (livello API 10) come libreria aggiuntiva per supportare una gamma più ampia di dispositivi. I produttori di dispositivi possono scegliere se includere o meno la libreria add-on nell’immagine di sistema del dispositivo.
Nota: il supporto per l’host USB e le modalità accessorie dipendono in ultima analisi dall’hardware del dispositivo, indipendentemente dal livello della piattaforma. È possibile filtrare per i dispositivi che supportano host USB e accessorio attraverso un<uses-feature>
elemento. Per maggiori dettagli, consultare la documentazione relativa all’accessorio USB e all’host.,
Considerazioni di debug
Quando il debug di applicazioni che utilizzano accessori USB o funzioni host, molto probabilmente avrà hardware USB collegato al dispositivo Android-powered. Ciò ti impedirà di avere una connessioneadb
al dispositivo Android tramite USB. È comunque possibile accedere a adb
tramite una connessione di rete. Per abilitare adb
tramite una connessione di rete:
- Collegare il dispositivo Android tramite USB al computer.,
- Dalla directory SDK
platform-tools/
, immettereadb tcpip 5555
al prompt dei comandi. - Inserisci
adb connect <device-ip-address>:5555
Ora dovresti essere connesso al dispositivo Android e puoi emettere i solitiadb
comandi comeadb logcat
. - Per impostare il dispositivo in ascolto su USB, immettere
adb usb
.