لدعم واجهة برمجة التطبيقات لطبقة تجريد الأجهزة (HAL) للناقل التسلسلي العالمي (USB)، على الشركات المصنّعة للأجهزة تنفيذ إصدار طبقة تجريد الأجهزة (HAL) للناقل التسلسلي العالمي (USB) المتوافق. لاستخدام واجهة برمجة التطبيقات USB HAL، يجب أن يكون لديك تطبيق يتمتع بامتيازات النظام.
يتيح USB HAL استخدام واجهة برمجة التطبيقات USB Port Reset، التي تتطلّب الإصدار 2.0 من USB HAL وتتوفّر للأجهزة التي تعمل بالإصدار 13 من نظام التشغيل Android والإصدارات الأحدث. استخدِم واجهة برمجة التطبيقات هذه لإعادة ضبط اتصال USB مع الجهاز المضيف المتصل.
العثور على طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB وواجهات برمجة التطبيقات الخاصة بها
على الشركات المصنّعة للأجهزة تنفيذ طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB لتوفير إمكانية استخدام واجهات برمجة التطبيقات.
للعثور على التنفيذ التلقائي لطبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB، استخدِم المسارات التالية:
إصدار AIDL (الأحدث):
<aosp>/hardware/interfaces/usb/gadget/1.2/default/للعثور على ملف عنوان واجهة الأجهزة، استخدِم المسار التالي:
إصدار AIDL (الأحدث):
<aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.halللعثور على واجهات برمجة التطبيقات، استخدِم المسار التالي لتحديد موقعها ضمن ملف عنوان AIDL. هذا المسار هو أيضًا نقطة دخول إطار عمل Android لواجهة برمجة التطبيقات:
android.hardware.usb:<aosp>/core/java/android/hardware/usb
تنفيذ طبقة تجريد الأجهزة (HAL) الخاصة بمنفذ USB
للعمل مع واجهة برمجة التطبيقات USB HAL، عليك تنفيذ ما يلي:
إصدار USB HAL الصحيح ليس عليك اتّخاذ أي إجراء تقني.
طبقة تجريد الأجهزة (HAL) لواجهة تعريف لغة AIDL لمنفذ USB لإعادة ضبط واجهة برمجة التطبيقات من خلال إعادة ضبط اتصال USB بين جهاز الاختبار والمضيف
فهم بنية واجهة برمجة التطبيقات USB HAL
تم إنشاء واجهة برمجة التطبيقات USB HAL في حزمة android.hardware.usb وتستفيد من USB HAL للتفاعل مع الجهاز. يتم تقديم تفاصيل حول بنية واجهة برمجة التطبيقات في الشكل أدناه.
USB Port Reset API
يوضّح الشكل التالي مسار رمز واجهة برمجة التطبيقات USB Port Reset API في إطار عمل، بما في ذلك تنفيذ USB HAL.
الشكل 1.1 مثال على تدفّق الرمز البرمجي لواجهة برمجة التطبيقات لإعادة توصيل منفذ USB
التحقّق من صحة عملية التنفيذ
يرتبط كل إصدار من USB HAL وواجهة برمجة التطبيقات المقابلة بحالة اختبار في "مجموعة أدوات اختبار المورّد" (VTS).
USB Port Reset API
للعثور على حالة اختبار VTS لواجهة برمجة التطبيقات USB Port Reset، انتقِل إلى:
<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/
حالة اختبار VTS لواجهة USB HAL الإصدار 1.2 هي حالة اختبار من جهة المضيف يمكنك استخدامها لتنفيذ هذه الإجراءات.
لاستدعاء واجهة برمجة التطبيقات USB Port Reset API، استخدِم الأمر
adb shell(#svc usb resetUsbPort).تأكَّد من إمكانية فصل الجهاز قيد الاختبار (DUT) وإعادة توصيله.