USB-Host und USB-Zubehör – Übersicht

Android unterstützt eine Vielzahl von USB-Peripheriegeräten und Android-USB-Zubehör (Hardware, die das Android-Zubehörprotokoll implementiert) über zwei Modi: USB-Zubehör und USB-Host. Im USB-Zubehörmodus fungiert die externe USB-Hardware als USB-Host. Beispiele für Zubehör:

  • Robotik-Controller
  • Dockingstationen
  • Diagnose- und Musikinstrumente
  • Kioske
  • Kartenlesegeräte

und viele mehr. So können Android-Geräte ohne Hostfunktionen mit USB-Hardware interagieren. Android-USB-Zubehör muss mit Android-Mobilgeräten kompatibel sein und dem Android-Kommunikationsprotokoll für Zubehör entsprechen. Im USB-Hostmodus fungiert das Android-Gerät als Host. Beispiele für Geräte sind Digitalkameras, Tastaturen, Mäuse und Gamecontroller. USB-Geräte, die für eine breite Palette von Anwendungen und Umgebungen entwickelt wurden, können weiterhin mit Android-Apps interagieren, die korrekt mit dem Gerät kommunizieren können.

In Abbildung 1 sehen Sie die Unterschiede zwischen den beiden Modi. Wenn sich das Android-Gerät im Hostmodus befindet, fungiert es als USB-Host und versorgt den Bus. Wenn sich das Android-Gerät im USB-Zubehörmodus befindet, fungiert die angeschlossene USB-Hardware (in diesem Fall ein Android-USB-Zubehör) als Host und versorgt den Bus.

Diagramm zum Unterschied zwischen Host- und Zubehörmodus

Abbildung 1: USB-Host- und Zubehörmodi

USB-Zubehör- und Hostmodi werden in Android 3.1 (API-Level 12) oder neueren Plattformen direkt unterstützt. Der USB-Zubehörmodus wird auch zu Android 2.3.4 (API-Level 10) als Add-on-Bibliothek zurückportiert, um eine breitere Palette von Geräten zu unterstützen. Der Gerätehersteller kann entscheiden, ob die Add-on-Bibliothek in das Systemimage des Geräts aufgenommen werden soll.

Hinweis: Die Unterstützung des USB-Host- und Zubehörmodus hängt letztendlich unabhängig von der Plattformebene von der Hardware des Geräts ab. Mit einem <uses-feature>-Element können Sie nach Geräten filtern, die USB-Host und Zubehör unterstützen. Weitere Informationen finden Sie in der Dokumentation zum USB-Zubehör und in der Host-Dokumentation.

Hinweise zur Fehlerbehebung

Beim Debuggen von Anwendungen, die USB-Zubehör oder Hostfunktionen verwenden, ist wahrscheinlich USB-Hardware mit Ihrem Android-Gerät verbunden. Dadurch wird keine adb-Verbindung zum Android-Gerät über USB hergestellt. Du kannst weiterhin über eine Netzwerkverbindung auf adb zugreifen. So aktivieren Sie adb über eine Netzwerkverbindung:

  1. Schließen Sie das Android-Gerät über USB an Ihren Computer an.
  2. Geben Sie im SDK-Verzeichnis platform-tools/ bei der Eingabeaufforderung adb tcpip 5555 ein.
  3. Geben Sie adb connect <device-ip-address>:5555 ein. Sie sollten jetzt mit dem Android-Gerät verbunden sein und die üblichen adb-Befehle wie adb logcat ausführen.
  4. Um dein Gerät für USB-Wiedergabe einzurichten, gib adb usb ein.