Я новичок в платформе Android, и мне хотелось бы знать, возможно ли для устройства Android (приложения) взаимодействовать с системой Linux/XP через USB-порт для двусторонней связи. Если да, то как это можно сделать?
Чего я хочу достичь: у меня есть ПК под управлением Linux, и я хочу написать небольшое приложение на своем устройстве Android для отправки и получения данных с ПК через USB.
Это невозможно на большинстве устройств, поскольку они не поддерживают режим USB-хоста. Некоторые устройства имеют поддержку USB OTG или порт USB Host, но пока это относительно редкие устройства. Теоретически вы можете написать приложение на Win/Linux для доступа к телефону через USB, но не наоборот.
Android-устройства в качестве USB-хостов интересовали всех разработчиков. До операционной системы Android HoneyComb (OS 3.0) не было никаких признаков возможности.
Однако последний HoneyComb API (OS 3.1), по-видимому, предоставляет возможности для поддержки устройств Android, используемых в качестве USB-хостов. API был включен для того же.
Поэтому, хотя на данный момент очень немногие устройства Android поддерживают возможность USB-хоста, это будет возможно на всех будущих устройствах.
Android напрямую не предоставляет приложениям режим USB-устройства, но приложения могут косвенно передавать данные через IP при использовании модема. Иногда для этого требуется дополнительное пользовательское программное обеспечение/драйвер, подобное прокси, на хосте для распаковки данных. Например, для интерпретации ipMIDI как MIDI в Linux требуется multimidicast/QmidiNet.
Однако режим хоста был открыт с версии 3.1 (в android.hardware.usb).
Надеюсь, Google в конечном итоге будет поддерживать режим устройства (вздох). Посмотрите эти проблемы в проекте Android (и отметьте их, если они вас интересуют!):
https://code.google.com/p/android/issues/detail?id=10176
https://code.google.com/p/ Android/проблемы/подробно? ID = 30198
эльдарератис