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

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

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

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

نواة

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

ماذا بعد؟

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