Untuk mendukung API Lapisan Abstraksi Perangkat Keras USB (HAL), produsen perangkat harus menerapkan versi USB HAL yang sesuai. Untuk menggunakan USB HAL API, diperlukan aplikasi dengan hak istimewa sistem.
USB HAL mendukung USB Port Reset API, yang memerlukan USB HAL v2.0 dan tersedia untuk perangkat yang menjalankan Android 13 dan lebih tinggi. Gunakan API ini untuk mengatur ulang koneksi USB dengan host yang terhubung.
Temukan USB HAL dan API-nya
Produsen perangkat harus mengimplementasikan USB HAL untuk mendukung API.
Untuk menemukan implementasi default USB HAL, gunakan jalur berikut:
Versi AIDL (terbaru):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
Untuk menemukan file header antarmuka perangkat keras, gunakan jalur berikut:
Versi AIDL (terbaru):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
Untuk menemukan API, gunakan jalur berikut untuk menemukan API di bawah file header AIDL. Jalur ini juga merupakan titik masuk Kerangka Android untuk API:
android.hardware.usb
:<aosp>/core/java/android/hardware/usb
Implementasikan USB HAL
Untuk bekerja dengan USB HAL API, terapkan:
Versi USB HAL yang benar. Tidak diperlukan implementasi UI sistem.
USB AIDL HAL untuk USB Port Reset API dengan mengatur ulang koneksi USB antara perangkat target dan host.
Memahami arsitektur USB HAL API
USB HAL API disertakan dalam paket android.hardware.usb
dan memanfaatkan USB HAL untuk berinteraksi dengan perangkat. Detail tentang arsitektur API disediakan pada gambar di bawah.
API Penyetelan Ulang Port USB
Gambar berikut mengilustrasikan alur kode USB Port Reset API dalam suatu kerangka kerja, termasuk implementasi USB HAL.
Gambar 1.1 Contoh alur kode API Port USB Reseat.
Validasi implementasi Anda
Setiap versi USB HAL dan API terkaitnya dikaitkan dengan kasus pengujian di Vendor Test Suite (VTS).
API Penyetelan Ulang Port USB
Untuk menemukan kasus uji VTS untuk USB Port Reset API, buka:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
Kasus uji VTS untuk USB HAL v1.2 adalah kasus uji sisi host yang dapat Anda gunakan untuk melakukan tindakan ini.
Untuk menjalankan API Reset Port USB, gunakan perintah
adb shell
(#svc usb resetUsbPort
).Konfirmasikan bahwa perangkat yang diuji (DUT) dapat diputuskan dan dihubungkan kembali.