Android suporta uma variedade de periféricos USB e acessórios USB Android (hardware que implementa o protocolo acessório Android) através de dois modos: acessório USB e USB host. No modo acessório USB, o hardware externo USB atua como as máquinas USB. Exemplos de acessórios podem incluir controladores robóticos; estações de acoplagem; equipamento de diagnóstico e musical; quiosques; Leitores de cartões; e muito mais., Isso dá dispositivos movidos a Android que não têm capacidade de hospedagem a capacidade de interagir com o hardware USB. Os acessórios USB Android devem ser projetados para trabalhar com dispositivos movidos a Android e devem aderir ao protocolo de comunicação acessório Android. No modo USB host, o dispositivo Android funciona como o host. Exemplos de dispositivos incluem câmeras digitais, teclados, ratos e controladores de jogos. Dispositivos USB que são projetados para uma ampla gama de aplicações e ambientes ainda podem interagir com aplicativos Android que podem se comunicar corretamente com o dispositivo.,a Figura 1 mostra as diferenças entre os dois modos. Quando o dispositivo Android está no modo host, ele atua como a máquina USB e alimenta o ônibus. Quando o dispositivo Android está no modo acessório USB, o hardware USB conectado (um acessório Android USB neste caso) atua como o hospedeiro e alimenta o ônibus.
Figura 1. USB Host and Acessory Modes
USB Acessory and host modes are directly supported in Android 3.1 (API level 12) or newer platforms. O modo acessório USB também é backported para Android 2.3.,4 (API Nível 10) como uma biblioteca adicional para suportar uma gama mais ampla de dispositivos. Os fabricantes de dispositivos podem escolher se devem ou não incluir a biblioteca adicional na imagem do sistema do dispositivo.
Nota: O suporte para USB host e modos acessórios são, em última análise, dependentes do hardware do dispositivo, independentemente do nível da plataforma. Você pode filtrar os dispositivos que suportam a máquina USB e acessório através de um elemento <uses-feature>
. Veja a documentação USB Acessório e host para mais detalhes.,
considerações de depuração
quando depurar aplicações que usam acessórios USB ou funcionalidades da máquina, você provavelmente terá o hardware USB ligado ao seu dispositivo movido a Android. Isto irá impedi-lo de ter uma conexão adb
com o dispositivo Android através de USB. Você ainda pode acessar adb
através de uma conexão de rede. Para activar adb
através de uma ligação à rede:
- ligue o dispositivo movido a Android através de USB ao seu computador.,
- do seu SDK directório, indique
adb tcpip 5555
na linha de comandos. - Enter
adb connect <device-ip-address>:5555
agora, Você deve estar conectado a um aparelho Android e pode emitir o costumeadb
comandos comoadb logcat
. - Para configurar o seu dispositivo para ouvir em USB, indique
adb usb
.