当前位置: 代码迷 >> 综合 >> Android Ninja编译系统介绍
  详细解决方案

Android Ninja编译系统介绍

热度:41   发布时间:2023-10-16 00:31:45.0

 

 

Platform: rk3399
OS: Android 7.1
Kernel: v4.4.83

Android7.0以后开始使用Ninja替代GNU make编译系统。

概念:
Ninja:

用于提高编译速度的编译系统。
可执行文件位于 prebuilts/ninja/linux-x86/ninja

Kati:
用于把Makefiel转成成ninja file,自身没有编译能力,转换后使用Ninja编译。
源代码位于: build/kati
可执行文件会被生成到: out/host/linux-x86/bin/ckati
使用方法可参考 README.md

Soong:
用于把blueprint文件(Android.bp)生成ninja文件,然后用ninja编译,目前rk3399没用到此功能。
Soong是长期的一个计划,用来替换系统中所有的Android.mk。

因此,Kati更像是Google过渡使用的一个工具,等所有Android.mk都被替换成Android.bp之后,相信Soong工具会被打开使用来替换Kati.
 

Ninja使用:

由于目前android系统没有全部切换到ninja编译,因此编译入口还是和之前的方法一样,使用make命令。

source build/envsetup.sh
lunch
make -j8

按照kati readme要求,使用ninja必须要定义USE_NINJA为true, android中虽然默

  相关解决方案