Ich bin neu auf der Android-Plattform und möchte wissen, ob es möglich ist, dass ein Android-Gerät (App) mit einem Linux/XP-System über einen USB-Anschluss für die 2-Wege-Kommunikation kommuniziert. Wenn ja, wie kann es gemacht werden?
Was ich erreichen möchte: Ich habe einen PC mit Linux und möchte eine kleine App in mein Android-Gerät schreiben, um Daten vom PC über USB zu senden und zu empfangen.
Dies ist auf den meisten Geräten nicht möglich, da sie den USB-Host-Modus nicht unterstützen. Einige Geräte haben USB-OTG-Unterstützung oder einen USB-Host-Anschluss, aber das sind bisher relativ seltene Geräte. Theoretisch könnten Sie eine Anwendung unter Win/Linux schreiben, um über USB auf das Telefon zuzugreifen, aber nicht umgekehrt.
Android-Geräte als USB-Hosts waren für alle Entwickler von Interesse. Bis zum HoneyComb-Betriebssystem von Android (OS 3.0) gab es keine Anzeichen für eine Möglichkeit.
Die neueste HoneyComb-API (OS 3.1) scheint jedoch Möglichkeiten zu bieten, Android-Geräte zu unterstützen, die als USB-Hosts verwendet werden. Dafür wurde eine API aufgenommen.
Obwohl derzeit nur sehr wenige Android-Geräte die USB-Host-Funktion unterstützen, wird dies in allen kommenden Geräten möglich sein.
Android macht den USB-Gerätemodus nicht direkt für Anwendungen verfügbar, aber Apps können Daten indirekt über IP übertragen, wenn Tethering verwendet wird. Dies erfordert manchmal eine zusätzliche benutzerdefinierte „Proxy-ähnliche“ Software/Treiber auf dem Host, um die Daten zu entpacken. Um beispielsweise ipMIDI als MIDI unter Linux zu interpretieren, wird multimidicast/QmidiNet benötigt.
Der Host-Modus ist jedoch seit 3.1 verfügbar (in android.hardware.usb).
Hoffentlich unterstützt Google irgendwann den Gerätemodus (seufz). Sehen Sie sich diese Probleme im Android-Projekt an (und markieren Sie sie, wenn sie Sie interessieren!):
https://code.google.com/p/android/issues/detail?id=10176
https://code.google.com/p/ android/issues/detail?id=30198
Eldarerathis