نظرة عامة على طبقة تجريد الأجهزة (HAL)

طبقة تجريد الأجهزة (HAL) هي نوع من طبقات التجريد التي تتضمّن واجهة عادية لمورّدي الأجهزة لتنفيذها. تسمح واجهة HAL لمورّدي الأجهزة بتنفيذ ميزات من المستوى الأدنى خاصة بالأجهزة بدون التأثير في الرمز البرمجي أو تعديله في الطبقات ذات المستوى الأعلى.

العبارات المطلوبة

في ما يلي قائمة بتعريفات المصطلحات المستخدَمة في هذا القسم من المستندات:

لغة تعريف واجهة Android (AIDL)
لغة مشابهة للغة Java تُستخدَم لتحديد الواجهات بطريقة مستقلة عن لغة البرمجة المستخدَمة. يسمح AIDL بالتواصل بين عملاء HAL وخدمات HAL.
HAL المرتبط
HAL الذي يتواصل مع العمليات الأخرى باستخدام طلبات التواصل بين العمليات (IPC) يتم تشغيل HALs المُدمجة في عملية منفصلة عن العميل الذي يستخدمها. يتم تسجيل HALs المُجمَّعة في مدير خدمة حتى يتمكّن العملاء من الوصول إلى إمكاناتها. يتم مزج HALs المكتوبة لنظام التشغيل Android 8 والإصدارات الأحدث.
HAL client
العملية التي تصل إلى خدمة HAL
واجهة HAL
الواجهة المشتركة التي يستخدمها كل من برنامج HAL وخدمة التواصل.
خدمة HAL

الرمز الخاص بالأجهزة، مثل الرمز الذي يتم توجيهه إلى كاميرا الجهاز المحدد يجب تنفيذ جميع HALs المطلوبة الواردة في مصفوفة التوافق للإصدار الذي تستهدفه في قسم البائع. لمزيد من المعلومات حول مصفوفات التوافق، يُرجى الاطّلاع على مصفوفات التوافق.

يمكنك أيضًا إنشاء واجهة HAL جديدة أو توسيع واجهة HAL لتوفير ميزات فريدة لجهازك.

لغة تعريف واجهة الأجهزة (HIDL)

لغة تُستخدَم لتعريف الواجهات بطريقة مستقلة عن لغة البرمجة المستخدَمة يتيح HIDL التواصل بين عملاء HAL وخدمات HAL.

HAL لعملية مماثلة (SP)

مجموعة محدودة من واجهات HAL المُغلفة وتتحكم Google في العضوية في المجموعة. تشمل واجهات برمجة التطبيقات لخدمات الشركاء ما يلي:

  • الإصدار الثابت من حزمة HAL لبرنامج C mapper 5
  • OpenGL
  • Vulkan
  • ‫android.hidl.memory@1.0 (يوفّره نظام Android، ويتم تغليفه دائمًا)
  • android.hardware.renderscript@1.0
ملفوف حول طبقة تجريد الأجهزة (HAL)

خدمة HAL تم إنشاؤها قبل الإصدار 8 من نظام التشغيل Android، ولكن تم تغليفها في ملف ملف برمجي AIDL أو HIDL لتعمل مع الإصدار 8 من نظام التشغيل Android والإصدارات الأحدث

ما هي الخطوات التالية؟