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.
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:
- Schließen Sie das Android-Gerät über USB an Ihren Computer an.
- Geben Sie im SDK-Verzeichnis
platform-tools/
bei der Eingabeaufforderungadb tcpip 5555
ein. - Geben Sie
adb connect <device-ip-address>:5555
ein. Sie sollten jetzt mit dem Android-Gerät verbunden sein und die üblichenadb
-Befehle wieadb logcat
ausführen. - Um dein Gerät für USB-Wiedergabe einzurichten, gib
adb usb
ein.