API đặt lại cổng USB

Để hỗ trợ API Lớp trừu tượng phần cứng (HAL) USB, nhà sản xuất thiết bị phải triển khai phiên bản HAL USB tương ứng. Để sử dụng USB HAL API, bạn cần có một ứng dụng đặc quyền của hệ thống.

USB HAL hỗ trợ API đặt lại cổng USB, yêu cầu USB HAL v2.0 và có sẵn cho các thiết bị chạy Android 13 trở lên. Sử dụng API này để đặt lại kết nối USB với máy chủ đã kết nối.

Tìm HAL USB và các API của nó

Nhà sản xuất thiết bị phải triển khai USB HAL để hỗ trợ các API.

  1. Để tìm cách triển khai mặc định của USB HAL, hãy sử dụng các đường dẫn sau:

    Phiên bản AIDL (mới nhất): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Để tìm tệp tiêu đề giao diện phần cứng, hãy sử dụng đường dẫn sau:

    Phiên bản AIDL (mới nhất): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. Để tìm các API, hãy sử dụng đường dẫn sau để định vị các API trong tệp tiêu đề AIDL. Đường dẫn này cũng là điểm truy cập Khung Android cho API:

    android.hardware.usb: <aosp>/core/java/android/hardware/usb

Triển khai USB HAL

Để làm việc với API HAL USB, hãy triển khai:

  1. Phiên bản HAL USB chính xác. Không cần triển khai giao diện người dùng hệ thống.

  2. USB AIDL HAL cho API Đặt lại cổng USB bằng cách đặt lại kết nối USB giữa thiết bị đích và máy chủ.

Tìm hiểu về cấu trúc USB HAL API

USB HAL API được tích hợp vào gói android.hardware.usb và tận dụng USB HAL để tương tác với thiết bị. Thông tin chi tiết về cấu trúc của API được cung cấp trong hình dưới đây.

API đặt lại cổng USB

Hình sau đây minh hoạ quy trình mã của API Đặt lại cổng USB trong một khung, bao gồm cả việc triển khai HAL USB.

Quy trình mã API mẫu cho việc cắm lại cổng USB

Hình 1.1 Quy trình mã API mẫu về việc cắm lại cổng USB.

Xác thực cách triển khai

Mỗi phiên bản HAL USB và API tương ứng đều được liên kết với một trường hợp kiểm thử trong Bộ kiểm thử nhà cung cấp (VTS).

API đặt lại cổng USB

Để tìm trường hợp kiểm thử VTS cho API Đặt lại cổng USB, hãy truy cập vào:

<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/

Trường hợp kiểm thử VTS cho USB HAL v1.2 là một trường hợp kiểm thử phía máy chủ mà bạn có thể sử dụng để thực hiện các thao tác này.

  • Để gọi API đặt lại cổng USB, hãy sử dụng lệnh adb shell (#svc usb resetUsbPort).

  • Kiểm tra để đảm bảo thiết bị đang được kiểm tra (DUT) có thể ngắt kết nối rồi kết nối lại.