اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
عند إضافة رمز إلى AOSP، استخدِم علامات إطلاق الميزات لعزل
الرمز غير المختبَر عن الرمز المختبَر. فعِّل علامات إطلاق الميزة لتنفيذ الرمز البرمجي واختباره.
في المقابل، أوقِف علامات إطلاق الميزة لضمان عدم تنفيذ الرمز البرمجي الذي لم يتم اختباره.
تُستخدَم علامات إطلاق الميزات بشكل أساسي بالطريقتَين التاليتَين:
إذا كنت تساهم في تطوير AOSP، قد يطلب منك مراجع التغيير
تنفيذ علامة إطلاق الميزة حتى يتم اختبارها بشكل صحيح.
لمزيد من المعلومات عن الفروع، يُرجى الاطّلاع على
دورة حياة الإصدار.
تستخدم Google علامات إطلاق الميزات لضمان ثبات أحدث إصدار من Android
(android16-release) للجميع. إذا كانت شركتك تحافظ على نسخة مطابقة من AOSP وتعمل من هذه النسخة، استخدِم ميزة إعلام فريق التطوير بإطلاق الميزات للحفاظ على استقرار نسخة AOSP المطابقة لدى فريق التطوير.
في ما يلي الخطوات العامة لتنفيذ ميزة الإبلاغ عن إطلاق الميزات:
بالنسبة إلى تغيير رمز معيّن، حدِّد ما إذا كنت بحاجة إلى علامة، وإذا كان الأمر كذلك، حدِّد نوع العلامة.
وضِّح العلامة.
احط التغيير في الرمز البرمجي بالعلامة.
اضبط قيمة العلامة.
أنشئ الرمز البرمجي واختبره.
تغيير قيم العلامة أثناء التشغيل
رمز الاختبار الذي يستخدم علامات إصدار الميزات
توضّح لك الصفحات في هذا القسم كيفية تنفيذ كلّ خطوة من هذه الخطوات.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Feature launch flag overview\n\nWhen adding code into AOSP, use *feature launch flags* to isolate\nuntested code from tested code. Enable feature launch flags to execute and\ntest your code.\nConversely, disable feature launch flags to ensure untested code doesn't\nexecute.\n\nFeature launch flags are used primarily in these two ways:\n\n- If you're contributing to AOSP, you might be asked by your change's reviewer to implement a feature launch flag so that the feature is tested properly. For further information on branches, see [Release lifecycle](/docs/setup/contribute/release-lifecycle).\n- Google uses feature launch flags to ensure the Android latest release branch (`android16-release`) is stable for everyone. If your company keeps a mirror of AOSP and works from that mirror, use feature launch flagging to keep your mirror of AOSP code stable for your development team.\n\n| **Note:** Feature launch flagging is part of a new development process called *Trunk Stable* whereby all official AOSP releases are snapped from a single internal main development branch. To achieve this goal, the main development branch must remain stable at all time. Trunk Stable requires all updates and new features to be flagged so they can, on a case-by-case basis, be included or excluded from the internal main branch before snapping a release. For more on the AOSP release process, see [Release\n| lifecycle](/docs/setup/contribute/release-lifecycle).\n\nThe high-level steps for implementing feature launch flagging are:\n\n1. For a given code change, determine if you need a flag and, if so, determine the flag type.\n2. Declare the flag.\n3. Wrap your code change in the flag.\n4. Set the flag's value.\n5. Build and test your code.\n6. Change flag values at runtime.\n7. Test code that uses feature release flags\n\nThe pages in this section teach you how to perform each of these steps."]]