Omówienie hosta USB i akcesoriów

Android obsługuje różne urządzenia peryferyjne USB i akcesoria USB na Androida (sprzęt, który implementuje protokół akcesoriów Android) w 2 trybach: akcesorium USB i host USB. W trybie akcesorium USB zewnętrzny sprzęt USB działa jako host USB. Przykładowe akcesoria:

  • kontrolery robotyki
  • stacje dokowania
  • sprzęt diagnostyczny i muzyczny
  • kioski
  • czytniki kart

i wiele innych. Dzięki temu urządzenia z Androidem, które nie mają funkcji hosta, mogą korzystać ze sprzętu USB. Akcesoria USBB z Androidem muszą być zaprojektowane do współpracy z urządzeniami z Androidem i muszą być zgodne z protokołem komunikacji akcesoriów z Androidem. W trybie hosta USB pełni ono funkcję hosta z Androidem. Przykładami urządzeń są aparaty cyfrowe, klawiatury, myszy i kontrolery gier. Urządzenia USB zaprojektowane do stosowania w wielu różnych aplikacjach i środowiskach mogą nadal współpracować z aplikacjami na Androida, które mogą się z nimi prawidłowo komunikować.

Rysunek 1 przedstawia różnice między tymi dwoma trybami. Gdy urządzenie z Androidem jest w trybie hosta, działa jako host USB i zasila magistrali. Gdy urządzenie z Androidem jest w trybie akcesorium USB, podłączony sprzęt USB (w tym przypadku akcesorium USB z Androidem) pełni funkcję hosta i zasila magistrali.

Diagram przedstawiający różnicę między trybami hosta i akcesorium

Rysunek 1. Tryby hosta USB i akcesoriów

Tryby akcesorium USB i hosta są obsługiwane bezpośrednio na platformach Android 3.1 (poziom API 12) i nowszych. Tryb akcesorium USB jest też wstecznie przenoszony do Androida 2.3.4 (poziom interfejsu API 10) jako biblioteki dodatków, aby obsługiwać szerszą gamę urządzeń. Producenci urządzeń mogą zdecydować, czy uwzględnić bibliotekę dodatków w obrazie systemu urządzenia.

Uwaga: obsługa trybów hosta USB i akcesoriów zależy od sprzętu urządzenia, niezależnie od poziomu platformy. Za pomocą elementu <uses-feature> możesz filtrować urządzenia, które obsługują host USB i akcesoria. Więcej informacji znajdziesz w dokumentacji akcesorium i hosta USB.

Uwagi na temat debugowania

Podczas debugowania aplikacji, które korzystają z akcesoriów USB lub funkcji hosta, do urządzenia z Androidem jest najprawdopodobniej podłączone sprzęt USB. To uniemożliwia połączenie adb z urządzeniem z Androidem przez USB. Nadal możesz korzystać z aplikacji adb przez połączenie sieciowe. Aby włączyć funkcję adb przez połączenie sieciowe:

  1. Podłącz urządzenie z Androidem przez USB do komputera.
  2. W katalogu pakietu SDK platform-tools/ wpisz adb tcpip 5555 w wierszu polecenia.
  3. Wpisz adb connect <device-ip-address>:5555 Powinno nastąpić połączenie z urządzeniem z Androidem i możesz teraz wydawać standardowe polecenia adb, takie jak adb logcat.
  4. Aby skonfigurować urządzenie do słuchania na USB, wpisz adb usb.