确定标记用法和类型

Google 使用功能发布标记作为确保代码分支稳定的方法。某些类型的 AOSP 贡献也需要使用这些标记。在实施功能发布标记之前,请确定您的更改是否有必要使用标记。并且,如果必须使用标记,您应该确定要使用的标记类型。

确定标记用法

要确定何时使用功能发布标记,请遵循以下准则

  • 如果您进行的更改可能会导致 AOSP 代码库不稳定,例如添加新功能或修复特别复杂的错误,请使用功能发布标记。

  • 相反,如果您进行的更改不太可能导致代码库不稳定,例如修改注释,则无需使用功能发布标记。

确定标记类型

标记有两种类型:aconfig 标记构建标记

Aconfig 标记

Aconfig 标记用于在测试和发布过程中将未发布代码的执行与已发布代码的执行分开。Aconfig 标记可以是读写标记或只读标记

  • 读写 aconfig 标记是布尔变量,您可以在运行时启用(设置为 true)或停用(设置为 false)。使用读写标记来测试和发布更改,而不会影响主分支的稳定性。

  • 只读 aconfig 标记是您在运行时无法更改的布尔常量。您可以将读写 aconfig 标记转换为只读 aconfig 标记,以用于稳定且准备发布的代码。

    此外,根据您使用的编译器,当使用只读标记时,未执行的代码可能会从构建中排除。因此,您可以使用只读标记来隐藏任何尚未准备好成为版本一部分的代码。

构建标记

构建标记是构建时常量(字符串),您无法在运行时更改它们。在您无法使用 aconfig 标记的情况下(例如以下情况),请使用这些标记

  • 您有一个预编译或预构建的代码片段,想要将其包含在构建中。
  • 您想要更改构建系统本身。
  • 您想要在依赖项周围放置标记以管理代码大小。