1.简介
早期的Android系统都是采用Android.mk的配置来编译源码,从Android 7.0开始引入Android.bp。很明显Android.bp的出现就是为了替换掉Android.mk。
- Android 7.0引入ninja和kati
- Android 8.0使用Android.bp来替换Android.mk,引入Soong
- Android 9.0强制使用Android.bp
2.使用条件
Android.bp不支持条件语句!没有分支、循环等流程控制,不能做算数逻辑运算。在实际项目中,如果构建的脚本必须包含条件语句,建议使用Android.mk或使用Go语言
3.模块实例
以模块类型开头,以键值对的形式进行编写。例子如下:
// 构建可执行程序
android_app {
// 设定可执行的程序的名称,编译后会生成一个 CarNotification.apk
name: "CarNotification",
// 指定java源码的位置
srcs: ["src/**/*.java"],
// 指定资源文件的位置
resource_dirs: ["res"],
// 允许使用系统hide api
platform_apis: true,
// 设定apk签名为 platform
certificate: "platform",
// 设定apk安装路径为priv-app
privileged: true,
// 是否启用代码优化,android_app中默认为true&#x