Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
USB Port Reset API
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Untuk mendukung API Hardware Abstraction Layer (HAL) USB, produsen perangkat
harus menerapkan versi HAL USB yang sesuai. Untuk menggunakan USB HAL API, aplikasi dengan hak istimewa sistem diperlukan.
USB HAL mendukung USB Port Reset API, yang memerlukan USB HAL v2.0 dan
tersedia untuk perangkat yang menjalankan Android 13 dan yang lebih tinggi. Gunakan API ini untuk mereset koneksi USB dengan host yang terhubung.
Menemukan HAL USB dan API-nya
Produsen perangkat harus menerapkan HAL USB untuk mendukung API.
Untuk menemukan implementasi default USB HAL, gunakan jalur berikut:
AIDL Versi (terbaru):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
Untuk menemukan file header antarmuka hardware, gunakan jalur berikut:
AIDL Versi (terbaru):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
Untuk menemukan API, gunakan jalur berikut untuk menemukan API di
file header AIDL. Jalur ini juga merupakan titik entri Framework Android untuk API:
android.hardware.usb
:
<aosp>/core/java/android/hardware/usb
Mengimplementasikan HAL USB
Untuk menggunakan USB HAL API, terapkan:
Perbaiki versi USB HAL. Tidak diperlukan penerapan UI sistem.
USB AIDL HAL untuk USB Port Reset API dengan mereset koneksi USB antara perangkat target dan host.
Memahami arsitektur USB HAL API
USB HAL API di-build ke dalam paket android.hardware.usb
dan memanfaatkan USB HAL untuk berinteraksi dengan perangkat. Detail tentang arsitektur untuk API diberikan dalam gambar di bawah.
USB Port Reset API
Gambar berikut mengilustrasikan alur kode USB Port Reset API dalam framework, termasuk implementasi USB HAL.
Gambar 1.1 Contoh alur kode USB Port Reseat API.
Memvalidasi penerapan
Setiap versi USB HAL dan API terkaitnya dikaitkan dengan kasus pengujian di
Vendor Test Suite (VTS).
USB Port Reset API
Untuk menemukan kasus pengujian VTS untuk USB Port Reset API, buka:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
Kasus pengujian VTS untuk USB HAL v1.2 adalah kasus pengujian sisi host yang dapat Anda gunakan untuk
melakukan tindakan ini.
Untuk memanggil USB Port Reset API, gunakan perintah adb shell
(#svc usb resetUsbPort
).
Pastikan perangkat yang sedang diuji (DUT) dapat memutuskan dan menghubungkan kembali.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# USB Port Reset API\n\nTo support the USB Hardware Abstraction Layer (HAL) API, device manufacturers\nmust implement the corresponding USB HAL version. To use the USB HAL API, a\nsystem-privileged app is required.\n\nThe USB HAL supports the USB Port Reset API, which requires USB HAL v2.0 and is\navailable for devices running Android 13 and higher. Use this API to reset the\nUSB connection with the connected host.\n\nFind the USB HAL and its APIs\n-----------------------------\n\nDevice manufacturers must implement the USB HAL to support the APIs.\n\n1. To find the default implementation of USB HAL, use the following paths:\n\n **Version AIDL (latest):**\n [`\u003caosp\u003e/hardware/interfaces/usb/gadget/1.2/default/`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/usb/gadget/1.2/default/)\n2. To find the hardware interface header file, use the following path:\n\n **Version AIDL (latest):**\n [`\u003caosp\u003e/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/usb/gadget/1.2/IUsbGadget.hal)\n3. To find the APIs, use the following path to locate the APIs under the\n AIDL header file. This path is also the Android Framework entry point for the API:\n\n `android.hardware.usb`:\n [`\u003caosp\u003e/core/java/android/hardware/usb`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/core/java/android/hardware/usb/IUsbManager.aidl)\n\nImplement the USB HAL\n---------------------\n\nTo work with the USB HAL API, implement the:\n\n1. Correct USB HAL version. No system UI implementation is required.\n\n2. USB AIDL HAL for the USB Port Reset API by resetting the USB connection between the target device and the host.\n\nUnderstand the USB HAL API architecture\n---------------------------------------\n\nThe USB HAL API is built into the `android.hardware.usb` package and leverages the USB HAL to interact with the device. Details about the architecture for the API is provided in the figure below.\n\n### USB Port Reset API\n\nThe following figure illustrates the code flow of the USB Port Reset API in a framework, including the implementation of the USB HAL.\n\n**Figure 1.1** Sample USB Port Reseat API code flow.\n\nValidate your implementation\n----------------------------\n\nEach USB HAL version and its corresponding API is associated with a test case in\nthe Vendor Test Suite (VTS).\n\n### USB Port Reset API\n\nTo find the VTS test case for the USB Port Reset API, go to:\n\n[`\u003caosp\u003e/test/vts-testcase/hal/usb/gadget/V1_2/`](https://android.googlesource.com/platform/test/vts-testcase/hal/+/refs/heads/android16-release/usb/gadget/V1_2)\n\nThe VTS test case for USB HAL v1.2 is a host-side test case you can use to\nperform these actions.\n\n- To invoke the USB Port Reset API, use the `adb shell`\n command (`#svc usb resetUsbPort`).\n\n- Confirm that the device under test (DUT) can disconnect and reconnect."]]