يحتفظ مشروع Android مفتوح المصدر (AOSP) بمجموعة برامج كاملة ليتم نقلها بواسطة مصنعي المعدات الأصلية وغيرهم من منفذي الأجهزة وتشغيلها على أجهزتهم الخاصة. للحفاظ على جودة Android ، ساهمت Google بالمهندسين المتفرغين ومديري المنتجات ومصممي واجهة المستخدم ومختبري ضمان الجودة وجميع الأدوار الأخرى المطلوبة لتقديم الأجهزة الحديثة إلى السوق.
وفقًا لذلك ، نحتفظ بعدد من خطوط الترميز لفصل الإصدار الثابت الحالي من Android بوضوح عن العمل التجريبي غير المستقر. نقوم بتدوير إدارة المصادر المفتوحة وصيانتها لخطوط كود Android في دورة تطوير المنتج الأكبر.
إدارة كود AOSP
يوضح الرسم البياني أدناه المفاهيم الكامنة وراء إدارة وإصدارات كود AOSP.
![مخطط الشفرة](https://source.android.google.cn/static/images/code-lines.png?authuser=2&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 الأولية) حسب الضرورة.
- تم تطوير الإصدار n + 1 (الإصدار الرئيسي التالي من واجهات برمجة التطبيقات للنظام الأساسي والنظام الأساسي) داخليًا بواسطة Google. للحصول على التفاصيل ، راجع خطوط الترميز الخاصة .
- يتم سحب التغييرات من الفروع الأولية والإصدار والتجريبية إلى فرع Google الخاص حسب الضرورة.
- عندما يتم تثبيت واجهات برمجة التطبيقات الخاصة بالنظام الأساسي للإصدار التالي واختبارها بالكامل ، تقطع Google إصدارًا من إصدار النظام الأساسي التالي (على وجه التحديد ، إصدار
SdkVersion
جديد). هذا يتوافق مع خط الترميز الداخلي الذي يتم إجراؤه فرع إصدار عام وخط كود النظام الأساسي الحالي الجديد. - عندما يتم قطع إصدار نظام أساسي جديد ، يتم إنشاء خط ترميز تجريبي مطابق في نفس الوقت.
خطوط الترميز الخاصة
تتضمن إستراتيجية إدارة المصادر المذكورة أعلاه مخططًا ترميزًا يحتفظ به Google خاصًا لتركيز الانتباه على الإصدار العام الحالي من Android.
يرغب المصنّعون الأصليون وغيرهم من منشئي الأجهزة بشكل طبيعي في شحن الأجهزة بأحدث إصدار من Android. وبالمثل ، لا يرغب مطورو التطبيقات في التعامل مع إصدارات أكثر من النظام الأساسي أكثر من اللازم. وفي الوقت نفسه ، تحتفظ Google بالمسؤولية عن التوجيه الاستراتيجي لنظام Android كمنصة ومنتج. يركز نهجنا على عدد صغير من الأجهزة الرئيسية لتشغيل الميزات مع تأمين حماية الملكية الفكرية المتعلقة بنظام Android.
نتيجة لذلك ، تمتلك Google بشكل متكرر معلومات سرية من جهات خارجية ويجب عليها الامتناع عن الكشف عن ميزات حساسة حتى تأمين الحماية المناسبة. بالإضافة إلى ذلك ، هناك مخاطر حقيقية على النظام الأساسي في حالة وجود عدد كبير جدًا من إصدارات النظام الأساسي في وقت واحد. لهذه الأسباب ، قمنا بتصميم مشروع مفتوح المصدر (بما في ذلك مساهمات الجهات الخارجية) للتركيز على الإصدار المستقر العام حاليًا من Android. يحدث التطوير العميق للإصدار التالي من النظام الأساسي بشكل خاص حتى يصبح جاهزًا ليصبح إصدارًا رسميًا.
نحن ندرك أن العديد من المساهمين لا يوافقون على هذا النهج ونحترم وجهات نظرهم. ومع ذلك ، هذا هو الأسلوب الذي نشعر أنه الأفضل والأفضل الذي اخترناه لتطبيق Android.