برای پشتیبانی از USB Hardware Abstraction Layer (HAL) API، سازندگان دستگاه باید نسخه USB HAL مربوطه را پیاده سازی کنند. برای استفاده از USB HAL API، یک برنامه دارای امتیاز سیستم مورد نیاز است.
USB HAL از API بازنشانی پورت USB پشتیبانی میکند، که به USB HAL نسخه 2.0 نیاز دارد و برای دستگاههای دارای Android نسخه 13 و بالاتر در دسترس است. از این API برای بازنشانی اتصال USB با میزبان متصل استفاده کنید.
USB HAL و API های آن را پیدا کنید
سازندگان دستگاه باید USB HAL را برای پشتیبانی از API ها پیاده سازی کنند.
برای یافتن پیاده سازی پیش فرض USB HAL، از مسیرهای زیر استفاده کنید:
نسخه AIDL (آخرین):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/
برای یافتن فایل هدر رابط سخت افزاری از مسیر زیر استفاده کنید:
نسخه AIDL (آخرین):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal
برای یافتن APIها، از مسیر زیر برای یافتن APIها در زیر فایل هدر AIDL استفاده کنید. این مسیر همچنین نقطه ورودی Android Framework برای API است:
android.hardware.usb
:<aosp>/core/java/android/hardware/usb
USB HAL را اجرا کنید
برای کار با USB HAL API، موارد زیر را اجرا کنید:
نسخه صحیح USB HAL. هیچ پیاده سازی UI سیستم مورد نیاز نیست.
USB AIDL HAL برای API بازنشانی پورت USB با تنظیم مجدد اتصال USB بین دستگاه مورد نظر و میزبان.
معماری USB HAL API را درک کنید
USB HAL API در بسته android.hardware.usb
تعبیه شده است و از USB HAL برای تعامل با دستگاه استفاده می کند. جزئیات در مورد معماری API در شکل زیر ارائه شده است.
API تنظیم مجدد پورت USB
شکل زیر جریان کد USB Port Reset API را در یک چارچوب، از جمله اجرای USB HAL نشان میدهد.
شکل 1.1 نمونه جریان کد API Reseat پورت USB.
اجرای خود را تأیید کنید
هر نسخه USB HAL و API مربوط به آن با یک مورد آزمایشی در مجموعه تست فروشنده (VTS) مرتبط است.
API تنظیم مجدد پورت USB
برای یافتن مورد آزمایشی VTS برای API تنظیم مجدد پورت USB، به آدرس زیر بروید:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
کیس تست VTS برای USB HAL v1.2 یک کیس تست سمت میزبان است که می توانید برای انجام این اقدامات از آن استفاده کنید.
برای فراخوانی USB Port Reset API، از دستور
adb shell
(#svc usb resetUsbPort
) استفاده کنید.اطمینان حاصل کنید که دستگاه تحت آزمایش (DUT) می تواند قطع و وصل شود.