天天看點

安卓開發者官網:USB 主機與附件 概述USB 主機與配件概述

USB 主機與配件概述

安卓通過兩種模式支援各種各樣的USB外接裝置和安卓USB配件(實作了安卓附件規範的硬體):USB 附件 和 USB 主機。在 USB 配件模式下,外部 USB 配件充當 USB 主機。附件的示例可能包括機器人控制器;擴充塢;音樂裝置;電話;讀卡器以及更多更多。這使得沒有主機功能的安卓裝置能夠與USB硬體進行互動。安卓 USB 配件必須設計為與安卓裝置配合使用,并且必須遵守安卓配件通信協定。在 USB 主機模式下,安卓裝置充當主機。裝置的例子包括:數位相機,鍵盤,滑鼠或遊戲控制器(及掃碼槍)。專為各種應用程式和環境設計的USB裝置,仍可與Android應用程式進行互動(該應用程式需滿足可正确與裝置通信)。

圖1 展示了在兩種模式下的不同。當安卓裝置在USB主機模式下,它充當USB主機并且提供電量。當安卓裝置在USB附件模式下,連接配接到的USB硬體充當主機和提供電力。

安卓開發者官網:USB 主機與附件 概述USB 主機與配件概述

圖1 USB 主機模式 與 附件模式

Android 3.1 (API 12) 或更高版本的平台直接支援USB附件和主機模式。USB 附件模式也作為附加庫向前相容到 Android 2.3.4 (API 11) 版本,為了支援更廣泛的裝置。裝置制造商可以選擇是否在裝置系統映像中添加這個附加庫。

筆記:不管是什麼API級别,是否支援USB附件或主機模式最終也是取決于裝置的硬體的。開發者可以在
`Manifest` 檔案中 通過 `<uses-feature>` 元素來過濾掉支援USB主機附件模式的裝置。檢視USB
主機 或 附件 文檔獲得更多詳情。
           
  • <uses-feature>
  • 主機(我的翻譯)
  • 附件

調試注意事項

當開發者在使用 USB 附件 或 主機 功能調試應用程式時,你最有可能已經有一個 USB 硬體連接配接到了你的Android裝置。這将阻止你通過USB連接配接與安卓裝置進行

adb

連接配接。你仍然可以通過網絡建立一個

adb

連接配接。通過網絡連接配接

adb

步驟如下:

  1. 通過 USB 将安卓裝置連接配接到電腦
  2. 在終端指令中,進入到你 SDK 的

    platform-tools/

    目錄下,輸入

    adb tcpip 5555

  3. 輸入

    adb connect <device-ip-address>:5555

    。你現在應該已經連接配接到了安卓裝置,可以發出常用的

    adb

    指令,如 :

    adb logcat

  4. 要讓裝置監聽 USB ,輸入

    adb usb