Google 會使用功能啟動旗標,確保程式碼分支版本穩定。這些旗標也是 AOSP 特定類型貢獻項目的必要條件。實作功能啟動標記前,請先判斷變更是否需要標記。如有需要,您應決定要使用的標記類型
判斷旗標用法
如要判斷何時該使用功能啟動旗標,請遵循下列準則:
如果您正在進行的變更可能會導致 Android 開放原始碼計畫程式碼集不穩定 (例如新增功能或修正特別複雜的錯誤),請使用功能啟動旗標。
相反地,如果您所做的程式碼變更不會導致程式碼集不穩定 (例如修改註解),則不必使用功能發布標記。
判斷標記類型
標記分為兩種類型:aconfig 標記和建構標記。
Aconfig 旗標
設定旗標是用來在測試和發布程序中,將未發布程式碼與已發布的程式碼分開執行。Aconfig 旗標可為讀寫或唯讀:
可讀寫 aconfig 標記是布林值變數,可在執行階段啟用 (設為
true
) 或停用 (設為false
)。使用讀取/寫入旗標進行測試及發布變更,而不會影響主要分支版本的穩定性。唯讀設定標記是布林值常數,無法在執行階段變更。對於穩定且已可發布的程式碼,您可以把讀取/寫入設定旗標轉換為唯讀設定標記。
此外,視您使用的編譯器而定,使用唯讀標記時,未執行的程式碼可能會從建構中排除。因此,您可以使用唯讀標記來隱藏任何尚未準備好要用於發布版本的程式碼。
建構旗標
建構標記是建構時間常數 (字串),您無法在執行階段變更這些常數。請在無法使用 aconfig 旗標的情況下使用這些旗標,例如:
- 您有想納入建構中的預先編譯或預先建構的程式碼。
- 您想要變更建構系統本身。
- 您想在依附元件周圍加上標記,以便管理程式碼大小。