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

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

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

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

النواة

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

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

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