差异Android.bp和Android.mk之间

问题描述 投票:0回答:1

在Android的O框架代码,我们看到两个Android.bp和Android.mk文件。什么是需要这两个文件?按照文件.bp文件用于宋楚瑜构建系统。当我们做这些文件将被执行的构建? .mk或.bp?

android build-system
1个回答
1
投票

Soong是Android构建系统,旨在为老make-based build system的替代品。宋读取Android.bp文件,它限定在巴泽勒的语法模块。宋楚瑜本身是用在围棋上Blueprint框架,这反过来使用Ninja作为后端的顶部。忍者是专为高效率,尤其是对增量构建。

由于Android是一个大项目,此举对宋楚瑜/ Android.bp需要一定的时间。在转型期,这两种格式都支持,以宋子文为Android.bp,并KatiAndroid.mk。标准版本将同时运行。在Android.mk文件的模块可以依赖于Android.bp文件的模块,而不是其他方式。

Android.bp的一个重要区别是没有明确的if语句来提高性能。而Android.mk文件可以包含在任意的环境变量ifeq检查时,Android.bp格式只允许区分预定义的情况下,如处理器架构或调试/发布版本(reference)。自定义区分的情况下,必须在去单独定义。

因为设计的差异,Android.mkAndroid.bp的自动转换是不可行的,虽然有一个叫做androidmk工具,可以简单翻译Android.mk文件(例如无if语句)至Android.bp

© www.soinside.com 2019 - 2024. All rights reserved.