USB 兩種模式
Android通過兩種模式,來支援各種USB外圍裝置和Android USB附件(硬體實現了Android的附件協議):USB附件模式和USB主機模式。在USB附件模式下,外部 USB 硬體充當USB主機。(作為)附件的例子,包括機器人控制器、擴充套件插座(docking stations)、診斷和音樂裝置、電子報亭(kiosks)、讀卡器等其他裝置。這種模式給予不具備主機功能的Android裝置,與USB硬體通訊的能力。Android USB附件,必須被設計為與裝有Android的裝置一起工作,並且必須遵循Android附件通訊協議。在USB主機模式下,裝有Android的裝置扮演著主機的角色。(外圍)裝置的例子,包括數碼像機,鍵盤,滑鼠和遊戲控制器。那些適應面很廣的
圖1展示了兩種模式的異同。當Android裝置處於主機模式時,它扮演USB主機角色併為匯流排供電。當Android裝置處於附件模式時,被連線的USB硬體(在這種情況下是一個Android USB附件)扮演主機角色並給匯流排供電。
圖1. USB主從模式
USB附件和主機模式,在Android 3.1(API level 12)或更高的平臺中,直接被支援。USB附件模式,可以作為一個擴充套件庫,後裝到Android 2.3.4 (API level 10),來支援更廣泛的裝置。裝置廠商可以選擇是否在裝置的系統映象中包含這個擴充套件庫。
注意:對USB主機和附件模式的支援最終取決於裝置的硬體,不管平臺的版本(是多少)。你可以通過<uses-feature>元素,過濾出那些支援USB主機和附件的裝置。檢視USB附件和主機文件,可以獲取更多詳細資訊。
除錯注意事項
當除錯那些使用了USB附件和主機特性的應用時,你可能要把USB硬體,連線到你的Android裝置上,這將阻止你通過USB建立與Android裝置的adb連線。你仍然可以通過網路連線,來訪問adb。通過網路連線使用adb:
- 通過USB,將Android裝置連線到電腦。
- 從SDK 的platform-tools目錄下,在命令列中輸入adb tcpip 5555。
- 輸入adb connect <裝置的
- 要設定你的裝置監聽USB(即恢復回原來的通過USB來建立adb連線的方式),輸入adb usb。