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

Android هو نظام تشغيل لمجموعة كبيرة من الأجهزة التي تتضمّن عوامل شكل مختلفة. تتوفر الوثائق ورمز المصدر لنظام Android أي مستخدم باعتباره المشروع المفتوح المصدر لنظام Android (AOSP). يمكنك استخدام AOSP لإنشاء إصدارات مخصّصة من نظام التشغيل Android لأجهزة Android الخاصة بك.

تم تصميم AOSP بحيث لا تتوفّر نقطة مركزية للأعطال، حيث يفرض أحد أطراف الصناعة قيودًا على إبداعات الطرف الآخر أو يتحكّم فيها. ولذلك، AOSP هو منتج كامل يتميز بجودة الإنتاج ويفتح رمز مصدر التخصيص والنقل.

يساعد هذا القسم من الوثائق مطوّري برامج AOSP الجدد في بدء استخدام المنصة وتنفيذ مهام التطوير الأساسية.

البنود المطلوبة

فيما يلي قائمة بالمصطلحات والتعريفات المستخدمة في جميع مراحل الوثائق التي بدأت. يجب عليك دراسة كل تعريف قبل المتابعة أكثر.

مطوِّر تطبيقات Android

يكتب مطوّرو تطبيقات Android تطبيقات Android أو تطبيقات تعمل على Android هناك تصنيفان لمطوّري التطبيقات: الطرف الأول (1p) و التابعة لجهات خارجية (3p).

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

إذا أردت تطوير تطبيقات تابعة لجهات خارجية لنظام Android، يُرجى الرجوع إلى developers.android.com المعلومات عن هذا الموقع الإلكتروني مخصّص فقط لأولئك الذين يعملون مباشرةً مع شركة AOSP.

Android Debug Bridge ‏(adb)
أداة سطر الأوامر (adb) التي تسمح لمحطة العمل بالتواصل مع جهاز افتراضي أو جهاز محاكي أو جهاز فعلي
جهاز متوافق مع Android
جهاز يمكنه تشغيل أي تطبيق تابع لجهة خارجية من إنشاء مطوّري برامج تابعين لجهات خارجية باستخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Android وNDK. يجب أن تتقيّد الأجهزة المتوافقة مع Android متطلبات مستند تعريف التوافق (CDD) واجتياز مجموعة أدوات اختبار التوافق (CTS) متوافقة مع Android يجب أن تكون أجهزتك مؤهّلة للمشاركة في منظومة Android المتكاملة، بما في ذلك ترخيص محتمل لتطبيق "متجر Play" على نظام Android، أو ترخيص محتمَل خدمات Google للأجهزة الجوّالة (GMS) من التطبيقات وواجهات برمجة التطبيقات، واستخدام علامة Android التجارية. يمكن لأي شخص التي تستخدم رمز المصدر لنظام Android، ولكن لاعتبارها جزءًا من منظومة Android المتكاملة، يجب أن يكون الجهاز متوافقًا مع Android. لمزيد من المعلومات حول التوافق وCTS، انظر نظرة عامة على "برنامج التوافق مع Android"
مستند تعريف التوافق (CDD)
وثيقة تلخص متطلبات البرامج والأجهزة اللازمة جهاز متوافق مع Android
مساهم

يشير ذلك المصطلح إلى الشخص الذي يقدّم مساهمات في رمز مصدر AOSP. المساهمون يمكن أن يكونوا موظفين في Google وموظفين من شركات أخرى وأفراد دون تبعية للشركة. يستخدم كل مشارِك في AOSP الأدوات نفسها ويتّبع عملية مراجعة الرموز البرمجية نفسها، ويخضع لأسلوب الترميز نفسه. إِنْتَ أو لا يجب أن تكون مساهمًا في استخدام بروتوكول AOSP، يمكنك تنزيل AOSP وتعديله لتلبية احتياجاتك الخاصة، ونشره على الجهاز دون المساهمة التعليمات البرمجية ليستخدمها الآخرون.

هناك حدود لنوع مساهمات الرموز التي تقبلها Google. على سبيل المثال: يمكنك المساهمة بواجهة برمجة تطبيقات بديلة، مثل واجهة برمجة تطبيقات بيئة تستند إلى C++. سترفض Google هذه المساهمة لأنّ Android تشغيل التطبيقات في وقت تشغيل ART. وبالمثل، لا تفعل Google قبول المساهمات مثل مكتبات GPC أو LGPL غير المتوافقة مع أهداف الترخيص.

إذا كنت مهتمًا بالمساهمة في رمز المصدر التواصل مع Google قبل بدء العمل.

مجموعة أدوات اختبار التوافق (CTS)

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

حبَّار

يشير هذا المصطلح إلى جهاز افتراضي قابل للضبط يعمل بنظام التشغيل Android ويمكن تشغيله عن بُعد باستخدام عروض السحابة الإلكترونية التابعة لجهات خارجية، مثل Google Cloud Engine، ومحليًا على نظام التشغيل Linux أجهزة x86.

المطوّر

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

خدمات Google للأجهزة الجوّالة (GMS)

مجموعة من تطبيقات Google وواجهات برمجة التطبيقات التي يمكن تثبيتها مسبقًا على الأجهزة

Target

يشير ذلك المصطلح إلى تبديل جهاز، مثل طراز معيّن أو شكل جهاز محدّد. بالنسبة على سبيل المثال، aosp_cf_x86_64_phone-userdebug يمثل هاتفًا بحجم 65 ميغابايت وبحجم 65 × 86 معلومات تصحيح الأخطاء المصممة للتشغيل على محاكي الحبار.

فلسفة الحوكمة

بدأت مجموعة من الشركات المعروفة باسم تحالف Open Handset Alliance (OHA) الذي تديره Google هو Android. اليوم، العديد من الشركات - كل من الأعضاء الأصليين في OHA آخرين - استثمروا بشكل كبير في Android. خصصت هذه الشركات موارد هندسية مهمة لتحسين Android وجلب أجهزة Android إلى السوق.

لقد فعلت الشركات التي استثمرت في Android ذلك لأنها تعتقد أن ومنصة مفتوحة أمرًا ضروريًا. يُعد Android عن قصد وبشكل صريح تطبيق مفتوح والجهد المصدري (على عكس البرامج المجانية) مجموعة من المؤسسات قد جمعت الاحتياجات المشتركة الموارد للتعاون في عملية تنفيذ واحدة منتج مشترك. أولاً وقبل كل شيء، تستند فلسفة Android إلى الحلول العملية. يندرج الهدف ضمن المنتجات المشتركة التي يمكن لكل مساهم تخصيصها.

وبالطبع، يمكن أن يؤدي التخصيص غير المنضبط إلى عمليات تنفيذ غير متوافقة. لمنع عدم التوافق، يحافظ "المشروع المفتوح المصدر لنظام Android" (AOSP) على الـ برنامج التوافق مع Android والتي توضح ما يعنيه التوافق مع Android وما هو مطلوب من منصات إنشاء الأجهزة لتحقيق هذه الحالة. يمكن لأي شخص استخدام رمز المصدر Android لأي غرض، وترحب Google بجميع الاستخدامات المشروعة. ومع ذلك، من أجل المشاركة في النظام الشامل المشترك للتطبيقات التي يبنيها أعضاء منظمة OHA حول Android، يجب أن تشارك منصات إنشاء الأجهزة في "برنامج التوافق مع Android".

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

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