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

مشروع Android المفتوح المصدر (AOSP) هو رمز مصدر Android متاح للجميع ويمكن تعديله. يمكن لأي مستخدم تنزيل AOSP وتعديله على جهازه. توفّر AOSP عملية تنفيذ كاملة وعملية لمنصة Android للأجهزة الجوّالة.

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

بنية AOSP

يتضمّن حزمة البرامج لنظام التشغيل AOSP الطبقات التالية:

بنية حزمة برامج AOSP

الشكل 1. بنية حزمة برامج AOSP

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

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

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

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

Kernel

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

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

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