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