API לאיפוס יציאת USB

כדי לתמוך ב-USB Hardware Abstraction Layer (HAL) API, יצרני המכשירים חייבים ליישם את גרסת ה-USB HAL המתאימה. כדי להשתמש ב-USB HAL API, נדרשת אפליקציה מוסמכת למערכת.

ה-USB HAL תומך ב-USB Reset API, הדורש USB HAL v2.0 וזמין עבור מכשירים עם אנדרואיד 13 ומעלה. השתמש ב-API זה כדי לאפס את חיבור ה-USB עם המארח המחובר.

מצא את ה-USB HAL ואת ממשקי ה-API שלו

יצרני התקנים חייבים ליישם את ה-USB HAL כדי לתמוך בממשקי ה-API.

  1. כדי למצוא את יישום ברירת המחדל של USB HAL, השתמש בנתיבים הבאים:

    גרסת AIDL (האחרונה): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. כדי למצוא את קובץ הכותרת של ממשק החומרה, השתמש בנתיב הבא:

    גרסת AIDL (האחרונה): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. כדי למצוא את ממשקי ה-API, השתמש בנתיב הבא כדי לאתר את ממשקי ה-API מתחת לקובץ הכותרת של AIDL. נתיב זה הוא גם נקודת הכניסה של Android Framework עבור ה-API:

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

יישם את ה-USB HAL

כדי לעבוד עם ה-USB HAL API, הטמע את:

  1. גרסת USB HAL נכונה. אין צורך ביישום ממשק המשתמש של המערכת.

  2. USB AIDL HAL עבור ה-API לאיפוס יציאת USB על ידי איפוס חיבור ה-USB בין התקן היעד למארח.

הבן את ארכיטקטורת USB HAL API

ה-USB HAL API מובנה בחבילת android.hardware.usb וממנף את ה-USB HAL לאינטראקציה עם המכשיר. פרטים על הארכיטקטורה של ה-API מסופקים באיור למטה.

API של איפוס יציאת USB

האיור הבא ממחיש את זרימת הקוד של ה-API לאיפוס יציאת USB במסגרת, כולל יישום ה-USB HAL.

זרימת קוד של יציאת USB Reseat API לדוגמה

איור 1.1 זרימת קוד ה-API של יציאת 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 Reset API, השתמש בפקודה adb shell ( #svc usb resetUsbPort ).

  • אשר שהמכשיר הנבדק (DUT) יכול להתנתק ולהתחבר מחדש.