AOSP与Ninja

AOSP与Ninja

Android N中,使用了ninja作为整个AOSP的编译工具

build/core/config.mk通过包含clang/versions.mk和clang/config.mk确定

CLANG_CXX = /prebuilts/clang/host/linux-x86/clang-2690385

而main.mk中包含了ninja.mk,该文件确定KATI_CXX和MAKEPARALLEL_CXX为CLANG_CXX

MAKEPARALLEL_CXX用于编译build/tools/makeparallel,该工具用于组织并行编译工作。

而KATI_CXX用于编译build/kati目录下的kati工具,kati工具可以将源码中的Makefile转换为*.ninja文件,后续使用ninja对源码树进行编译:

include build/kati/Makefile.ckati

同时build目录下还有使用Go编写的soong和blueprint,因此prebuild目录下新增了go目录,这两个工具共同作用,可以将*.bp文件转换为 *.ninja文件,AOSP计划后续不再使用Android.mk,转而使用Android.bp组织编译系统。

拿mm命令为例,在/package/apps/AppTest/工程下执行该命令,可以看到

Running kati to generate build-msm8909-mmm-packages_apps_AppTest_Android.mk.ninja...
out/build-msm8909-mmm-packages_apps_AppTest_Android.mk.ninja is missing, regenerating...

第一次模块编译会自动生成 build-<product_name>-mmm-<path_to_Android.mk>.ninja文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值