Android understøtter en bred vifte af USB-enheder og Android-USB-tilbehør (hardware, der gennemfører Android tilbehør protocol) ved hjælp af to tilstande: USB-tilbehør og USB-vært. I USB-tilbehørstilstand fungerer den eksterne USB-hard .are som USB-værter. Eksempler på tilbehør kan omfatte robotteknologi controllere, dockingstationer, diagnostisk og musikalsk udstyr, kiosker, kortlæsere; og meget mere., Dette giver Android-enheder, der ikke har værtskapaciteter, mulighed for at interagere med USB-hard .are. Android USB-tilbehør skal være designet til at fungere med Android-drevne enheder og skal overholde Android-tilbehørskommunikationsprotokollen. I USB host-tilstand fungerer den Android-drevne enhed som vært. Eksempler på enheder omfatter digitale kameraer, tastaturer, mus og spil controllere. USB-enheder, der er designet til en lang række applikationer og miljøer, kan stadig interagere med Android-applikationer, der korrekt kan kommunikere med enheden.,Figur 1 viser forskellene mellem de to tilstande. Når den Android-drevne enhed er i værtstilstand, fungerer den som USB-vært og driver bussen. Når den Android-drevne enhed er i USB-tilbehørstilstand, fungerer den tilsluttede USB-hard .are (et Android USB-tilbehør i dette tilfælde) som vært og driver bussen.
Figur 1. USB Host-og Tilbehørstilstande
USB tilbehør-og hosttilstande understøttes direkte i Android 3.1 (API level 12) eller nyere platforme. USB tilbehør tilstand er også tilbageført til Android 2.3.,4 (API niveau 10) som et add-on bibliotek til at understøtte en bredere vifte af enheder. Enhedsproducenter kan vælge, om add-on-biblioteket skal inkluderes på enhedens systembillede eller ej.
Bemærk: understøttelse af USB host-og tilbehørstilstande afhænger i sidste ende af enhedens hard .are, uanset platformniveau. Du kan filtrere efter enheder, der understøtter USB-vært og tilbehør gennem et <uses-feature>
element. Se USB tilbehør og host dokumentation for flere detaljer.,
debug overvejelser
når debugging programmer, der bruger USB-tilbehør eller host funktioner, du højst sandsynligt vil have USB-hard .are tilsluttet din Android-enhed. Dette forhindrer dig i at have en adb
forbindelse til den Android-drevne enhed via USB. Du kan stadig få adgang til adb
over en netværksforbindelse. Sådan aktiveres adb
over en netværksforbindelse:
- tilslut den Android-drevne enhed via USB til din computer.,
- fra din SDK
platform-tools/
mappe, indtastadb tcpip 5555
ved kommandoprompten. - Enter
adb connect <device-ip-address>:5555
Du skulle nu være sluttet til Android-baserede enhed, og den kan afgive den sædvanligeadb
kommandoer som f.eks.adb logcat
. - hvis du vil indstille enheden til at lytte på USB, skal du indtaste
adb usb
.