A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Ao adicionar código ao AOSP, use flags de lançamento de recursos para isolar
códigos não testados de códigos testados. Ative as flags de lançamento de recursos para executar e
testar seu código.
Também é possível desativar as flags de lançamento de recursos para garantir que códigos não testados não sejam
executados.
As flags de lançamento de recursos são usadas de duas maneiras principais:
Se você estiver contribuindo para o AOSP, o revisor da sua mudança poderá solicitar que você
implemente uma flag de lançamento para que o recurso seja testado corretamente. Para
saber mais sobre ramificações, consulte
Ciclo de vida do lançamento.
O Google usa flags de lançamento de recursos para garantir que as ramificações de desenvolvimento externo
(principal) e a de lançamento fiquem estáveis para todos. Se a empresa usa um
espelho do AOSP, use as flags de lançamento de recursos para manter
o código do espelho estável para a equipe de desenvolvimento.
Estas são as etapas de alto nível para implementar flags de lançamento de recursos:
Para uma determinada mudança no código, defina se você precisa de uma flag e, caso necessário,
o tipo.
Declare a flag.
Una sua mudança de código na flag.
Defina o valor da flag.
Crie e teste seu código.
Mude os valores da flag durante a execução.
Teste o código que usa flags de lançamento de recursos.
As páginas nesta seção ensinam a realizar cada uma dessas etapas.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-03-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-03-26 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."]]