Android stöder en mängd USB-kringutrustning och Android USB-tillbehör (hårdvara som implementerar Android-tillbehörsprotokollet) genom två lägen: USB-tillbehör och USB-värd. I USB-tillbehörsläge fungerar den externa USB-hårdvaran som USB-värdar. Exempel på tillbehör kan omfatta robotstyrenheter; Dockningsstationer; diagnostisk och musikalisk utrustning; kiosker; kortläsare; och mycket mer., Detta ger Android-drivna enheter som inte har värdfunktioner möjligheten att interagera med USB-hårdvara. Android USB-tillbehör måste vara utformade för att fungera med Android-drivna enheter och måste följa Android accessory communication protocol. I USB-värdläge fungerar den Android-drivna enheten som värd. Exempel på enheter inkluderar digitalkameror, tangentbord, möss och spelkontroller. USB-enheter som är utformade för ett brett spektrum av applikationer och miljöer kan fortfarande interagera med Android-program som korrekt kan kommunicera med enheten.,
Figur 1 visar skillnaderna mellan de två lägena. När den Android-drivna enheten är i värdläge fungerar den som USB-värd och driver bussen. När den Android-drivna enheten är i USB-tillbehörsläge fungerar den anslutna USB-hårdvaran (ett Android USB-tillbehör i detta fall) som värd och driver bussen.
Figur 1. USB-värd-och Tillbehörslägen
USB-tillbehör och värdlägen stöds direkt i Android 3.1 (API level 12) eller nyare plattformar. USB-tillbehörsläge backported också till Android 2.3.,4 (API nivå 10) som ett tilläggsbibliotek för att stödja ett bredare utbud av enheter. Enhetstillverkare kan välja om de vill inkludera tilläggsbiblioteket på enhetens systembild eller inte.
Obs! stöd för USB-värd-och tillbehörslägen är i slutändan beroende av enhetens hårdvara, oavsett plattformsnivå. Du kan filtrera efter enheter som stöder USB-värd och tillbehör via ett <uses-feature>
– element. Se USB-tillbehöret och värddokumentationen för mer information.,
Felsökningshänsyn
När du felsöker program som använder USB-tillbehör eller värdfunktioner, kommer du troligen att ha USB-maskinvara ansluten till din Android-drivna enhet. Detta hindrar dig från att ha en adb
-anslutning till den Android-drivna enheten via USB. Du kan fortfarande komma åt adb
via en nätverksanslutning. För att aktiveraadb
över en nätverksanslutning:
- Anslut den Android-drivna enheten via USB till datorn.,
- från din SDK
platform-tools/
katalog, skrivadb tcpip 5555
vid kommandotolken. - ange
adb connect <device-ip-address>:5555
du bör nu vara ansluten till den Android-drivna enheten och kan utfärda de vanligaadb
kommandon somadb logcat
. - för att ställa in enheten för att lyssna på USB, skriv
adb usb
.