Android.bp 语法浅析

本文介绍了Android.bp作为Android项目构建配置文件的使用,对比Android.mk,Android.bp更专注于配置,不包含流程控制。Android.bp定义模块时指定类型、属性,如cc_library_shared用于创建动态库。Soong负责将Android.bp转换为ninja文件,简化构建过程。同时,文章提供了一个Android.bp文件的实例,并提及转换Android.mk为Android.bp的工具。
摘要由CSDN通过智能技术生成

随着 android 工程越来越大,包含的 module 越来越多,以 makefile 组织的项目编译花费的时间越来越多。Google 在 7.0 引入了 ninja 是 Google 的一名程序员推出的注重速度的构建工具,一般在 Unix/Linux 上的程序通过 make/makefile 来构建编译,而 Ninja 通过将编译任务并行组织,大大提高了构建速度。

7.0 的时候 android 项目还是有大部分是由 makefile 来组织的,因此 Google 引入了 kati 将 makefile 翻译成 ninja 文件。8.0 开始,android 引入了 Android.bp 来替代 之前的 Android.mk 文件,不同于Android.mk,Android.bp只是纯粹的配置文件,不包括分支、循环等流程控制。在 android 项目上如何进行选择编译、解析配置、转换成 ninja 等,Soong 就被创造出来,将 Android.bp 转换为ninja文件进行管理。

简而言之,kati 把 bp 直接翻译成 ninja,blueprint / soong 则把 bp 翻译成 ninja。

Android.bp --> Blueprint --> Soong --> Ninja
Makefile or Android.mk --> kati --> Ninja

1. 模块

cc_library_shared {
   				//编译成动态库,类似于Android.mk中的BUILD_SHARED_LIBRARY
    name: "libbluetooth_jni",	//编译出的模块的名称,类似于Android.mk中的LOCAL_MODULE
    srcs: [ 					//源文件,类似于Android.mk中的LOCAL_SRC_FILES
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值