نظرة عامة على العمارة

نظام Android Open System Platform (AOSP) متاح للجمهور وقابل للتعديل كود مصدر Android. يمكن لأي شخص تنزيل وتعديل AOSP لجهازه. يوفر AOSP تنفيذًا كاملاً وعمليًا بالكامل لمنصة Android للجوّال.

هناك مستويان من التوافق للأجهزة التي تطبق AOSP: التوافق مع AOSP والتوافق مع Android. يجب أن يتوافق الجهاز المتوافق مع AOSP مع قائمة المتطلبات الواردة في وثيقة تعريف التوافق (CDD) . يجب أن يتوافق الجهاز المتوافق مع Android مع قائمة المتطلبات الواردة في CDD ومتطلبات برنامج البائع (VSR) والاختبارات مثل تلك الموجودة في Vendor Test Suite (VTS) و Compatibility Test Suite (CTS) . لمزيد من المعلومات حول توافق Android ، راجع برنامج التوافق مع Android .

هندسة AOSP

تحتوي حزمة البرامج الخاصة بـ AOSP على الطبقات التالية:

بنية مكدس برامج AOSP.

الشكل 1. بنية مكدس برمجيات AOSP.

فيما يلي قائمة بتعريفات المصطلحات المستخدمة في الشكل 1:

الروبوت التطبيق
تطبيق تم إنشاؤه باستخدام Android API فقط. يستخدم متجر Google Play على نطاق واسع للعثور على تطبيقات Android وتنزيلها ، على الرغم من وجود العديد من البدائل الأخرى. في بعض الحالات ، قد ترغب الشركة المصنعة للجهاز في تثبيت تطبيق Android مسبقًا لدعم الوظائف الأساسية للجهاز. إذا كنت مهتمًا بتطوير تطبيقات Android ، فارجع إلى developer.android.com
تطبيق مميز
تطبيق تم إنشاؤه باستخدام مجموعة من واجهات برمجة تطبيقات Android والنظام. يجب تثبيت هذه التطبيقات مسبقًا كتطبيقات مميزة على الجهاز.
تطبيق الشركة المصنعة للجهاز
تطبيق تم إنشاؤه باستخدام مزيج من Android API و System API والوصول المباشر إلى تطبيق إطار عمل Android. نظرًا لأن الشركة المصنعة للجهاز قد تصل مباشرةً إلى واجهات برمجة التطبيقات غير المستقرة داخل إطار عمل Android ، يجب تثبيت هذه التطبيقات مسبقًا على الجهاز ويمكن تحديثها فقط عند تحديث برنامج نظام الجهاز.
واجهة برمجة تطبيقات النظام
تمثل واجهة برمجة تطبيقات النظام واجهات برمجة تطبيقات Android المتاحة فقط للشركاء ومصنعي المعدات الأصلية لإدراجها في التطبيقات المجمعة. تم وضع علامة على واجهات برمجة التطبيقات هذه كـ @ SystemApi في التعليمات البرمجية المصدر.
Android API
Android API هي واجهة برمجة التطبيقات المتاحة للجمهور لمطوري تطبيقات Android من جهات خارجية. للحصول على معلومات حول Android API ، راجع مرجع Android API .
إطار عمل Android
مجموعة من فئات Java والواجهات وغيرها من التعليمات البرمجية المجمعة مسبقًا والتي يتم بناء التطبيقات عليها. يمكن الوصول إلى أجزاء من إطار العمل للجمهور من خلال استخدام Android API. تتوفر أجزاء أخرى من إطار العمل فقط لمصنعي المعدات الأصلية من خلال استخدام واجهات برمجة التطبيقات للنظام. يعمل كود إطار عمل Android داخل عملية التطبيق.
خدمات النظام
خدمات النظام هي مكونات معيارية ومركزة مثل system_server و SurfaceFlinger و MediaService. الوظيفة التي يعرضها Android framework تتواصل API مع خدمات النظام للوصول إلى الأجهزة الأساسية.
وقت تشغيل Android (ART)
بيئة تشغيل Java مقدمة من AOSP. تقوم ART بترجمة الرمز الثانوي للتطبيق إلى تعليمات خاصة بالمعالج يتم تنفيذها بواسطة بيئة وقت تشغيل الجهاز.
طبقة تجريد الأجهزة (HAL)
طبقة تجريد الأجهزة عبارة عن طبقة تجريد ذات واجهة قياسية يمكن لبائعي الأجهزة تنفيذها. تسمح HALs لنظام Android بأن يكون محايدًا بشأن تطبيقات برامج التشغيل ذات المستوى المنخفض. يتيح لك استخدام HAL تنفيذ الوظائف دون التأثير على نظام المستوى الأعلى أو تعديله. لمزيد من المعلومات ، راجع نظرة عامة على HAL .
الشياطين والمكتبات الأصلية

تتضمن العناصر الأصلية في هذه الطبقة init و healthd و storaged logd . تتفاعل هذه العناصر الشريرة مباشرة مع النواة أو واجهات أخرى ولا تعتمد على تطبيق HAL المستند إلى مساحة المستخدمين.

تتضمن المكتبات الأصلية في هذه الطبقة libc و liblog و libutils و libbinder و libselinux . تتفاعل هذه المكتبات الأصلية مباشرة مع kernel أو واجهات أخرى ولا تعتمد على تطبيق HAL المستند إلى مساحة المستخدمين.

نواة

النواة هي الجزء المركزي لأي نظام تشغيل وتتحدث إلى الأجهزة الأساسية على الجهاز. حيثما أمكن ، يتم تقسيم نواة AOSP إلى وحدات لا تعتمد على الأجهزة والوحدات النمطية الخاصة بالبائع. للحصول على وصف ، بما في ذلك التعريفات ، لمكونات AOSP kernel ، راجع نظرة عامة على Kernel .

ماذا بعد؟

  • إذا كنت جديدًا في AOSP ، وتريد البدء في التطوير ، فراجع قسم البدء .
  • إذا كنت تريد معرفة المزيد حول طبقة معينة من AOSP ، فانقر فوق اسم القسم في شريط التنقل الأيمن وابدأ بالنظرة العامة لهذا القسم.