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