USB端口重置API是Android開放源代碼項目(AOSP)中針對運行Android 11或更高版本的設備提供的系統API。使用它重置與已連接主機的USB小工具連接。為了支持USB端口重置API,設備製造商必須實現USB Gadget HAL V1.1。要使用USB端口重置API,需要係統特權應用。
查找USB小工具HAL v1.1和USB端口重置API
設備製造商必須實現USB Gadget HAL v1.1,以支持USB Port Reset API。
- 要查找USB Gadget HAL v.1.1的默認實現,請使用以下路徑:
<aosp>/hardware/interfaces/usb/gadget/1.1/default/
- 要查找硬件接口頭文件,請使用以下路徑:
<aosp>/hardware/interfaces/usb/gadget/1.1/IUsbGadget.hal
- 要查找USB端口重置API,請使用此路徑在AIDL頭文件下找到該API。此路徑也是USB端口重置API的Android框架入口點:
<aosp>/core/java/android/hardware/usb
實施小工具HAL v1.1
要支持USB端口重置API,必須實現USB Gadget HAL v1.1。無需系統UI實施。要為USB端口重置API實施USB Gadget HAL v1.1,請重置目標設備和主機之間的USB連接。
USB端口重置API代碼流
下圖說明了框架中USB Port Reset API的代碼流,包括USB Gadget HAL的實現。
圖1.示例USB端口重置API代碼流
驗證方式
請按照以下路徑查找為USB端口重置API實現的VTS測試用例:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_1/
USB端口重置API的VTS測試用例是主機端測試用例,可讓您執行以下操作:
- 使用adb shell命令(
#svc usb resetUsbGadget
)調用USB端口重置API。 - 檢查被測設備(DUT)是否可以斷開並重新連接。