判斷標記使用情形和類型

Google 會使用功能發布標記,確保程式碼分支穩定。提交特定類型的 AOSP 貢獻內容時,也必須加上這些旗標。實作功能發布標記前,請先判斷變更是否需要標記。此外,如果需要標記,您應決定要使用的標記類型。

判斷旗標用量

如要判斷何時使用功能發布標記,請遵循下列原則:

  • 如果您要進行的變更可能會導致 AOSP 程式碼集不穩定 (例如新增功能或修正特別複雜的錯誤),請使用功能發布標記。

  • 反之,如果您要進行的程式碼變更不會導致程式碼集不穩定 (例如修改註解),就不需要使用功能發布標記。

判斷旗標類型

旗標分為兩種類型:aconfig 旗標建構旗標

Aconfig 旗標

在測試和發布過程中,Aconfig 旗標可用於區分未發布程式碼和已發布程式碼的執行作業。設定旗標可為讀寫或唯讀:

  • 讀取/寫入 aconfig 旗標是布林值變數,您可以在執行階段啟用 (設為 true) 或停用 (設為 false)。使用讀寫旗標測試及發布變更,不會影響主要分支的穩定性。

  • 唯讀 aconfig 旗標是布林常數,您無法在執行階段變更。對於穩定且準備發布的程式碼,您可以將讀寫 aconfig 旗標轉換為唯讀 aconfig 旗標。

    此外,視您使用的編譯器而定,使用唯讀標記時,系統可能會從建構作業中排除未執行的程式碼。因此,您可以使用唯讀標記,隱藏任何尚未準備好發布的程式碼。

建構旗標

建構標記是建構時間常數 (字串),您無法在執行階段變更。在無法使用 aconfig 旗標的情況下,請使用這些旗標,例如:

  • 您有預先編譯或建構的程式碼片段,想要納入建構作業。
  • 您想變更建構系統本身。
  • 您想在依附元件周圍加上標記,以便管理程式碼大小。