A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Quando aggiungi codice in AOSP, utilizza i flag di lancio delle funzionalità per isolare il codice non testato dal codice testato. Attiva i flag di lancio delle funzionalità per eseguire e testare il codice.
Al contrario, disattiva i flag di lancio delle funzionalità per assicurarti che il codice non testato non venga eseguito.
I flag di lancio delle funzionalità vengono utilizzati principalmente in questi due modi:
Se contribuisci ad AOSP, l'esaminatore della modifica potrebbe chiederti di implementare un flag di lancio della funzionalità in modo che venga testata correttamente.
Per ulteriori informazioni sui branch, consulta la sezione Ciclo di vita delle release.
Google utilizza i flag di lancio delle funzionalità per garantire che il ramo di rilascio più recente di Android
(android16-release) sia stabile per tutti. Se la tua azienda mantiene un mirror di AOSP e lavora da questo mirror, utilizza i flag di lancio delle funzionalità per mantenere stabile il mirror del codice AOSP per il tuo team di sviluppo.
I passaggi di alto livello per implementare il segnalamento del lancio di funzionalità sono:
Per una determinata modifica del codice, determina se hai bisogno di un flag e, in caso affermativo, determina il tipo di flag.
Dichiara il flag.
Inserisci la modifica del codice nel flag.
Imposta il valore del flag.
Compila e testa il codice.
Modifica i valori dei flag in fase di esecuzione.
Testa il codice che utilizza i flag di rilascio delle funzionalità
Le pagine di questa sezione spiegano come eseguire ciascuno di questi passaggi.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 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."]]