I flag di lancio delle funzionalità vengono utilizzati da Google come approccio per garantire branche di codice stabili. Questi flag sono obbligatori anche per determinati tipi di contributi all'AOSP. Prima di implementare la segnalazione del lancio di una funzionalità, determina se per la modifica è necessario un flag. Inoltre, se è necessario un flag, devi determinare il tipo di flag da utilizzare.
Determinare l'utilizzo dei flag
Per determinare quando utilizzare un flag di lancio della funzionalità, segui queste linee guida:
Se apporti una modifica che potrebbe causare l'instabilità della base di codice AOSP, come l'aggiunta di una nuova funzionalità o la correzione di un bug particolarmente complesso, utilizza un flag di lancio della funzionalità.
Al contrario, se apporti una modifica al codice che non è suscettibile di causare l'instabilità della base di codice, ad esempio la modifica dei commenti, non è necessario utilizzare un flag di lancio della funzionalità.
Determina il tipo di flag
Esistono due tipi di flag: flag aconfig e flag di build.
Flag Aconfig
I flag Aconfig vengono utilizzati per separare l'esecuzione del codice non rilasciato dal codice rilasciato durante la procedura di test e rilascio. I flag Aconfig possono essere di lettura/scrittura o di sola lettura:
I flag aconfig di lettura/scrittura sono variabili booleane che puoi attivare (impostate su
true
) o disattivare (impostate sufalse
) in fase di esecuzione. Utilizza un flag di lettura/scrittura per testare e rilasciare le modifiche senza influire sulla stabilità di un ramo principale.I flag aconfig di sola lettura sono costanti booleane che non puoi modificare in fase di esecuzione. Puoi convertire i flag aconfig di lettura/scrittura in flag aconfig di sola lettura per il codice stabile e pronto per il rilascio.
Inoltre, a seconda del compilatore utilizzato, quando un flag di sola lettura , il codice che non viene eseguito potrebbe essere escluso dalla build. Di conseguenza, puoi usare i flag di sola lettura per nascondere qualsiasi codice non è pronto per far parte di una release.
Flag di compilazione
I flag di build sono costanti di build (stringhe) e non possono essere modificati runtime. Usa questi flag nei casi in cui non puoi usare i flag aconfig. quali:
- Hai un codice precompilato o predefinito che vuoi includere nella compilazione.
- Vuoi apportare modifiche per creare il sistema stesso.
- Vuoi inserire flag nelle dipendenze per gestire le dimensioni del codice.