Determina il tipo e l'utilizzo del flag

I flag di lancio delle funzionalità vengono utilizzati da Google come approccio per garantire rami di codice stabili. Questi flag sono necessari anche per determinati tipi di contributi ad AOSP. Prima di implementare la segnalazione del lancio delle funzionalità, determina se è necessario un flag per la tua modifica. 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 delle funzionalità, segui queste linee guida:

  • Se stai apportando una modifica che potrebbe rendere instabile la codebase AOSP, ad esempio aggiungendo una nuova funzionalità o correggendo un bug particolarmente complesso, utilizza un flag di lancio delle funzionalità.

  • Al contrario, se stai apportando una modifica al codice che non è in grado di rendere instabile la codebase, ad esempio modificando i commenti, non è necessario utilizzare un flag di lancio delle funzionalità.

Determinare 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 il processo 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 su false) in fase di runtime. 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 runtime. 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 che utilizzi, quando viene utilizzato un flag di sola lettura, il codice non eseguito potrebbe essere escluso dalla build. Pertanto, puoi utilizzare i flag di sola lettura per nascondere qualsiasi codice non pronto per far parte di una release.

Flag di build

I flag di build sono costanti di build (stringhe) e non puoi modificarli durante il runtime. Utilizza questi flag nelle circostanze in cui non puoi utilizzare i flag aconfig, ad esempio:

  • Hai un pezzo di codice precompilato o predefinito che vuoi includere nella build.
  • Vuoi apportare modifiche al sistema di compilazione stesso.
  • Vuoi inserire flag intorno alle dipendenze per gestire le dimensioni del codice.