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

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

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

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

الشروط المطلوبة

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

مطور تطبيقات أندرويد

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

مطور تطبيقات اندرويد 1p
مطور تطبيقات Android لديه حق الوصول إلى AOSP System APIs ويكتب التطبيقات المميزة وتطبيقات الشركة المصنعة للجهاز.
مطور تطبيقات اندرويد 3p
مطور تطبيقات Android يستخدم فقط SDK العام لنظام Android لإنشاء تطبيقات Android.

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

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

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

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

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

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

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

الحبار

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

مطور

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

خدمات جوجل للهواتف المحمولة (GMS)

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

هدف

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

المدقق

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

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

قامت مجموعة من الشركات المعروفة باسم 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 إلى الجهاز؛ لا يقومون بتنفيذ المواصفات أو تنظيم التوزيع.

ماذا بعد؟

,

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

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

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

الشروط المطلوبة

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

مطور تطبيقات أندرويد

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

مطور تطبيقات اندرويد 1p
مطور تطبيقات Android لديه حق الوصول إلى AOSP System APIs ويكتب التطبيقات المميزة وتطبيقات الشركة المصنعة للجهاز.
مطور تطبيقات اندرويد 3p
مطور تطبيقات Android يستخدم فقط SDK العام لنظام Android لإنشاء تطبيقات Android.

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

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

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

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

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

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

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

الحبار

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

مطور

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

خدمات جوجل للهواتف المحمولة (GMS)

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

هدف

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

المدقق

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

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

قامت مجموعة من الشركات المعروفة باسم 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 إلى الجهاز؛ لا يقومون بتنفيذ المواصفات أو تنظيم التوزيع.

ماذا بعد؟