يحتفظ مشروع Android مفتوح المصدر (AOSP) بمجموعة كاملة من البرامج ليتم نقلها بواسطة مصنعي المعدات الأصلية ومنفذي الأجهزة الآخرين وتشغيلها على أجهزتهم الخاصة. وللحفاظ على جودة Android، ساهمت Google بمهندسين بدوام كامل، ومديري منتجات، ومصممي واجهة المستخدم، ومختبري ضمان الجودة، وجميع الأدوار الأخرى المطلوبة لجلب الأجهزة الحديثة إلى السوق.
وبناء على ذلك، فإننا نحتفظ بعدد من خطوط التعليمات البرمجية للفصل بوضوح بين الإصدار المستقر الحالي من Android والعمل التجريبي غير المستقر. نقوم بإدخال إدارة المصادر المفتوحة وصيانة خطوط Android البرمجية في دورة تطوير المنتج الأكبر.
إدارة رمز AOSP
يوضح الرسم البياني أدناه المفاهيم الكامنة وراء إدارة كود AOSP وإصداراته.
![مخطط الكود](https://source.android.com/static/docs/setup/about/images/code-lines.png?authuser=6&hl=ar)
- في أي لحظة، يوجد أحدث إصدار حالي لمنصة Android. يأخذ هذا عادة شكل فرع في الشجرة.
- يعمل منشئو الأجهزة والمساهمون باستخدام الإصدار الأخير الحالي، وإصلاح الأخطاء، وإطلاق أجهزة جديدة، وتجربة الميزات الجديدة، وما إلى ذلك.
- بالتوازي، تعمل Google داخليًا على الإصدار التالي من نظام التشغيل Android وإطار العمل وفقًا لاحتياجات المنتج وأهدافه. نقوم بتطوير الإصدار التالي من Android من خلال العمل مع شريك جهاز على جهاز رئيسي تم اختيار مواصفاته لدفع Android في الاتجاه الذي نعتقد أنه يجب أن يسير فيه.
- عندما يصبح الإصدار n+1 جاهزًا، يتم نشره على شجرة المصدر العامة ويصبح الإصدار الأحدث الجديد.
شروط ومحاذير
- يتوافق الإصدار مع الإصدار الرسمي لمنصة Android، مثل 1.5 أو 8.1. يتوافق إصدار النظام الأساسي مع الإصدار الموجود في حقل
SdkVersion
لملفاتAndroidManifest.xml
والمحدد ضمنframeworks/base/api
في الشجرة المصدر. - المشروع الأولي هو مشروع مفتوح المصدر يسحب منه مكدس Android التعليمات البرمجية. بالإضافة إلى مشاريع مثل Linux kernel وWebKit، نواصل ترحيل بعض مشاريع Android شبه المستقلة مثل ART وأدوات Android SDK وBionic للعمل كمشاريع أولية. بشكل عام، يتم تطوير هذه المشاريع بالكامل في الشجرة العامة. بالنسبة لبعض المشاريع الأولية، يساهم المطورون بشكل مباشر في المشروع الأولي. لمزيد من التفاصيل، راجع مشاريع المنبع . وفي كلتا الحالتين، يتم سحب اللقطات بشكل دوري إلى الإصدارات.
- في جميع الأوقات، يعتبر رمز الإصدار (الذي قد يتكون من أكثر من فرع واحد في git) هو كود المصدر الأساسي الوحيد لإصدار نظام Android معين. يجب أن يتم سحب مصنعي المعدات الأصلية وأجهزة إنشاء المجموعات الأخرى فقط من فرع الإصدار.
- تم إنشاء خطوط مرجعية تجريبية لالتقاط التغييرات من المجتمع بحيث يمكن تكرارها مع التركيز على الاستقرار.
- يتم سحب التغييرات التي تثبت ثباتها في النهاية إلى فرع الإصدار. ينطبق هذا فقط على إصلاحات الأخطاء وتحسينات التطبيقات والتغييرات الأخرى التي لا تؤثر على واجهات برمجة التطبيقات الخاصة بالنظام الأساسي.
- يتم سحب التغييرات إلى فروع الإصدار من المشاريع الأولية (بما في ذلك مشاريع Android الأولية) حسب الضرورة.
- تم تطوير الإصدار n+1 (الإصدار الرئيسي التالي لإطار العمل وواجهات برمجة تطبيقات النظام الأساسي) بواسطة Google داخليًا. لمزيد من التفاصيل، راجع خطوط الترميز الخاصة .
- يتم سحب التغييرات من الفروع الأولية والإصدارية والتجريبية إلى فرع Google الخاص حسب الضرورة.
- عندما يتم تثبيت واجهات برمجة تطبيقات النظام الأساسي للإصدار التالي واختبارها بالكامل، تقوم Google بإيقاف إصدار إصدار النظام الأساسي التالي (على وجه التحديد، إصدار
SdkVersion
). يتوافق هذا مع الكود الداخلي الذي تم إنشاءه كفرع إصدار عام وخط الكود الأساسي الحالي الجديد. - عندما يتم قطع إصدار منصة جديد، يتم إنشاء خط ترميز تجريبي مطابق في نفس الوقت.
الخطوط الرمزية الخاصة
تتضمن استراتيجية إدارة المصدر المذكورة أعلاه خطًا برمجيًا تحافظ عليه Google خاصًا لتركيز الاهتمام على الإصدار العام الحالي من Android.
من الطبيعي أن يرغب مصنعو المعدات الأصلية وغيرهم من صانعي الأجهزة في شحن الأجهزة بأحدث إصدار من Android. وبالمثل، لا يرغب مطورو التطبيقات في التعامل مع إصدارات النظام الأساسي أكثر من اللازم. وفي الوقت نفسه، تحتفظ Google بمسؤولية التوجه الاستراتيجي لنظام Android كنظام أساسي ومنتج. يركز نهجنا على عدد صغير من الأجهزة الرئيسية لتشغيل الميزات مع تأمين حماية الملكية الفكرية المتعلقة بنظام Android.
ونتيجة لذلك، تمتلك Google في كثير من الأحيان معلومات سرية من جهات خارجية ويجب عليها الامتناع عن الكشف عن الميزات الحساسة حتى يتم تأمين الحماية المناسبة. بالإضافة إلى ذلك، هناك مخاطر حقيقية على النظام الأساسي في حالة وجود عدد كبير جدًا من إصدارات النظام الأساسي في وقت واحد. لهذه الأسباب، قمنا بتنظيم المشروع مفتوح المصدر (بما في ذلك مساهمات الطرف الثالث) للتركيز على الإصدار المستقر العام حاليًا من Android. يتم التطوير العميق على الإصدار التالي من النظام الأساسي بشكل خاص حتى يصبح جاهزًا ليصبح إصدارًا رسميًا.
نحن ندرك أن العديد من المساهمين يختلفون مع هذا النهج ونحترم وجهات نظرهم. ومع ذلك، هذا هو النهج الذي نشعر أنه الأفضل وهو النهج الذي اخترنا تنفيذه لنظام Android.