هندسة AOSP

نظام 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.
  • الروبوت التطبيق. تطبيق تم إنشاؤه فقط باستخدام Android API داخل Android SDK. يستخدم متجر Google Play على نطاق واسع للعثور على تطبيقات Android وتنزيلها ، على الرغم من وجود العديد من البدائل الأخرى. في بعض الحالات ، قد ترغب الشركة المصنعة للجهاز في تثبيت تطبيق Android مسبقًا لدعم الوظائف الأساسية للجهاز. إذا كنت مهتمًا بتطوير تطبيقات Android ، فانتقل إلى developer.android.com .
  • تطبيق مميز. تطبيق تم إنشاؤه باستخدام مجموعة من واجهات برمجة تطبيقات Android والنظام. يجب تثبيت هذه التطبيقات مسبقًا كتطبيقات مخصومة على الجهاز.
  • تطبيق تصنيع الجهاز. تطبيق تم إنشاؤه باستخدام مزيج من Android API و System API والوصول المباشر إلى تطبيق إطار عمل Android. نظرًا لأن الشركة المصنعة للجهاز قد تصل مباشرةً إلى واجهات برمجة التطبيقات غير المستقرة داخل إطار عمل Android ، يجب تثبيت هذه التطبيقات مسبقًا على الجهاز ويمكن تحديثها فقط عند تحديث برنامج نظام الجهاز.
  • إطار عمل Android. مجموعة من فئات Java والواجهات وغيرها من التعليمات البرمجية المجمعة مسبقًا والتي يتم بناء التطبيقات عليها. يمكن الوصول إلى أجزاء من إطار العمل للجمهور من خلال استخدام واجهات برمجة تطبيقات Android الخاصة بـ Android SDK. تتوفر أجزاء أخرى من إطار العمل فقط لمصنعي المعدات الأصلية من خلال استخدام واجهات برمجة تطبيقات نظام Android SDK. يعمل كود إطار عمل Android داخل عملية التطبيق.
  • أندرويد سك. مجموعة أدوات تطوير البرامج لاستخدامها في إنشاء تطبيقات تتفاعل مع إطار عمل Android. يتكون Android SDK من Android API ، والمتاح لجميع التطبيقات ، وواجهة برمجة تطبيقات النظام ، والمتاحة فقط للتطبيقات التي تم تخصيصها. لمزيد من المعلومات حول Android SDK's Android API ، انتقل إلى developer.android.com . لاحظ أن هناك أيضًا مجموعة تطوير أصلي لنظام Android (NDK) تسمح لك بكتابة جزء من تطبيق 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 . تتفاعل هذه المكتبات الأصلية مباشرة مع النواة أو واجهات أخرى ولا تعتمد على تطبيق HAL المستند إلى مساحة المستخدمين.
  • نواة. الجزء المركزي من أي نظام تشغيل ، يتحدث النواة إلى الأجهزة الأساسية على الجهاز. حيثما أمكن ، يتم تقسيم نواة AOSP إلى وحدات لا تعتمد على الأجهزة ووحدات خاصة بالمورد. للحصول على وصف ، بما في ذلك التعريفات ، لمكونات AOSP kernel ، راجع نظرة عامة على Kernel .

ماذا بعد؟

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