Android编译系统中Ninja与其它构建套件之间的关系,见:http://xinyiworld.top/wordpress_it/?p=11895

Ninja

Ninja是一种类似GNU make的编译系统。 就像make有Makefile,它也有自己的编译配置文件。 相对来说,Ninja文件没有分支、循环的流程控制,本质上就是纯粹的配置文件,所以要比Makefile简单得多。

可以将Ninja与make(工具)理解为make命令抽象的两种实现,即源码都是通过envsetup.sh里提供的make函数来编译的,但是不同版本的make函数实现方式不一样。

linux安装及使用

https://blog.csdn.net/m0_72410588/article/details/131787405

ninja编译小demo

https://blog.csdn.net/qq_32566003/article/details/120502719

ninja源码及原理

https://blog.csdn.net/MAX__YF/article/details/125856258

ninja常用命令

https://www.cnblogs.com/sandeepin/p/ninja.html

  • 查看目标
    ninja -f build-kona.ninja -n -t targets all | grep unpack_bootimg

如果报错:unknown pool name,见https://blog.csdn.net/xzzppp/article/details/53291253 (待验证)

ninja语法

https://note.qidong.name/2017/08/ninja-syntax/ (**)

ninja编译优化

能够确保编译配置没有更新,变更仅存在于源码范围时,使用Ninja直接编译,跳过Kati可以取得很显著的提升。

通过-f指定.ninja时,要使用全路径out/xx.ninja,否则报错:

ninja: error: combined-kona.ninja:6: loading 'out/build-kona.ninja': No such file or directory
subninja out/build-kona.ninja
                             ^ near here

要退回到源码的根目录执行命令:ninja -f out/combined-kona.ninja out/target/product/kona/boot.img

Android中的Ninja简介

https://note.qidong.name/2017/08/android-ninja/

分类: Ninja

0 条评论

发表回复

您的电子邮箱地址不会被公开。