Android编译多久,Android编译大全(六)

本文介绍了控制Android系统编译的make文件,指出实际控制编译的是build/core/main.mk,并列举了如make droid、make all等多种编译命令及其作用。还阐述了config.mk文件的主要内容,包括头文件定义、编译系统内部mk文件定义等,以及版本号检查等相关设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制整个android系统编译的make文件。其内容如下:

### DO NOT EDIT THIS FILE

###

include build/core/main.mk

### DO NOT EDIT THIS FILE

###

可以看出,实际上控制编译的文件是:build/core/main.mk

²

make droid:等同于make命令。droid是默认的目标名称。

²

make all:make all将make所有make droid会编译的项目。同时,将编译LOCAL_MODULE_TAGS定义的不包括android

tag的模块。这将确保所有的在代码树里面同时有Android.mk文件的模块。

²

clean-$(LOCAL_MODULE)和clean-$(LOCAL_PACKAGE_NAME):

删除某个模块的目标文件。例如:clean-libutils将删除所有的libutils.so以及和它相关的中间文件;clean-Home将删除Home应用。

²

make

clean:删除本次配置所编译输出的结果文件。类似于:rm –rf ./out/

²

make

clobber:删除所有配置所编译输出的结果文件。类似于:rm –rf ./out/

²

make

dataclean:make dataclean

deletes contents of the data

directory inside the current combo directory. This is especially

useful on the simulator and emulator, where the persistent data

remains present between builds.

²

make

showcommands:在编译的时候显示脚本的命令,而不是显示编译的简报。用于调试脚本。

²

make LOCAL_MODULE:编译一个单独得模块(需要有Android.mk文件存在)。

²

make

targets:将输出所有拟可以编译的模块名称列表。

注:还有一些命令,从make文件里面应该可以找到。本文不做探讨。

config.mk文件的主要内容如下:

Ø

头文件的定义;(各种include文件夹的设定)

在定义头文件的部分,还include了pathmap.mk,如下:

include

$(BUILD_SYSTEM)/pathmap.mk

该文件设置include目录和frameworks/base下子目录等的信息。

Ø

编译系统内部mk文件的定义;

internal files>

Ø

设定通用的名称;

common values>

Ø

Include必要的子配置文件;

files>

n

buildspec.mk

n

envsetup.mk

n

BoardConfig.mk

n

/combo/select.mk

n

/combo/javac.mk

Ø

检查BUILD_ENV_SEQUENCE_NUMBER版本号;

In order to make easier for people

when the build system changes, when it is necessary to make changes

to buildspec.mk or to rerun the environment setup scripts, they

contain a version number in the variable BUILD_ENV_SEQUENCE_NUMBER.

If this variable does not match what the build system expects, it

fails printing an error message explaining what happened. If you

make a change that requires an update, you need to update two

places so this message will be printed.

·

In config/envsetup.make, increment

the CORRECT_BUILD_ENV_SEQUENCE_NUMBER definition.

·

In buildspec.mk.default, update the

BUILD_ENV_SEQUENCE_DUMBER definition to match the one in

config/envsetup.make

The scripts automatically get the

value from the build system, so they will trigger the warning as

well.

Ø

设置常用工具的常量;< Generic

tools.>

Ø

设置目标选项;< Set up final

options.>

Ø

遍历并设置SDK版本;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值