Determina il tipo e l'utilizzo del flag

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 l'indicazione del lancio di funzionalità, determina se è necessario un indicatore per la 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 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 compilazione.

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 su false) 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 viene utilizzato un flag di sola lettura, il codice non eseguito potrebbe essere escluso dalla compilazione. Pertanto, puoi utilizzare gli indicatori di sola lettura per nascondere qualsiasi codice che non è pronto per far parte di una release.

Flag di compilazione

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

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