使用 Starlark 配置 product 和 board

product 和 board 配置定义了会影响 build 的 Make 变量。这与定义 Make 规则的 Android.mk 文件相反。通过将顶级 product 配置 Makefile 添加到 AndroidProducts.mk 文件中的 PRODUCT_MAKEFILES,您可以定义这些 Makefile。顶级 board 配置 Makefile 称为 BoardConfig.mk,包含在以 TARGET_DEVICE 的值为名称的文件夹中。

如果在已设置 RBC_PRODUCT_CONFIG 和/或 RBC_BOARD_CONFIG 的情况下运行 build,这些文件将转换为 Starlark 并由 Starlark 解释器执行,而不是在 Make 中执行。

回归测试脚本

在使用和不使用 Starlark 自动转换器的情况下,由回归脚本 rbc_regression_test.sh 运行该 build,比较生成的 ninja 文件 - 所生成的 ninja 文件应该是相同的。

Makefile 中的问题

某些模式无法从 Make 转换为 Starlark,必须手动移除或重构。此过程现在可以实现了,以便为默认启用 Starlark 转换做好准备。如需了解一些常见模式和替代方案,请参阅边栏中“问题”部分下的页面。