Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
При добавлении кода в AOSP используйте флаги запуска функций , чтобы изолировать непроверенный код от проверенного. Включите флаги запуска функций, чтобы выполнить и протестировать свой код. И наоборот, отключите флаги запуска функций, чтобы гарантировать, что непроверенный код не будет выполнен.
Флаги запуска функций используются в основном двумя способами:
Если вы вносите вклад в AOSP, рецензент вашего изменения может попросить вас реализовать флаг запуска функции, чтобы функция была протестирована должным образом. Для получения дополнительной информации о ветвях см. Жизненный цикл релиза .
Google использует флаги запуска функций, чтобы гарантировать, что последняя ветка выпуска Android ( android16-release ) стабильна для всех. Если ваша компания хранит зеркало AOSP и работает с этим зеркалом, используйте флаги запуска функций, чтобы сохранить зеркало кода AOSP стабильным для вашей команды разработчиков.
Ниже приведены основные шаги по внедрению маркировки запуска функций:
Для данного изменения кода определите, нужен ли вам флаг, и если да, определите тип флага.
Объявите флаг.
Оберните изменение кода во флаг.
Установите значение флага.
Создайте и протестируйте свой код.
Изменять значения флагов во время выполнения.
Тестовый код, использующий флаги выпуска функций
На страницах этого раздела вы узнаете, как выполнить каждый из этих шагов.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","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-29 UTC."],[],[],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."]]