Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。
Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk
文件的。在 Android7.0 以前,Android 都是使用 make 来组织各模块的编译,对应的编译
配置文件就是 Android.mk。在 Android7.0 开始,Google 引入了 ninja 和 kati 来编译,为
啥引入 ninja?因为随着 Android 越来越庞大,module 越来越多,编译时间也越来越久,
而使用 ninja 在编译的并发处理上较 make 有很大的提升。Ninja 的配置文件就是
Android.bp,Android 系统使用 Blueprint 和 Soong 工具来解析 Android.bp 转换生成 ninja
文件。为了兼容老的 mk 配置文件,Android 当初也开发了 Kati 工具来转换 mk 文件生成
ninja,目前 Android Q 里边,还是支持 Android.mk 方式的。相信在将来的版本中,会彻
底让 mk 文件废弃,同时 Kati 也就淘汰了,只保留 bp 配置方式,所以我们要提前学习
bp。Blueprint 和 Soong 工具的源码在 Android/build/目录下,我们可以通过查阅相关代码
来学习!
1