如何快速编译android,MTKandroid快速编译方法.doc

[FAQ10625] 提升Android编译速度

Platform: MT6572 MT6582 MT6588 MT6589 MT6592 MT6595 MT6571 MT6582/92+MT6290

Branch: GB3 JB2 JB3 JB5 JB9 GB5 JB7

FAQ Content

[DESCRIPTION]

Android codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。

实际上这个编译时间还是可以进一步缩短!

?

[KEYWORD]

ccache

编译时间

提升

降低

?

[SOLUTION]

1. 移除modules_to_check

(1). Android默认是所有模块都会编译的(不管需不需要),这个有些冗余,可以通过修改编译系统不编译哪些没有用到的模块

(2). 修改方法:alps/build/core/main.mk

files: prebuilt \

? $(modules_to_install) \

? $(modules_to_check) \

? $(INSTALLED_ANDROID_INFO_TXT_TARGET)

修改为:

files: prebuilt \

? $(modules_to_install) \

? $(INSTALLED_ANDROID_INFO_TXT_TARGET)

(3). 如果是ubi nand文件系统的项目(比如72 nand项目),还需要在alps/build/core/Makefile中:

$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \??$(INSTALLED_RAMDISK_TARGET) \??$(INSTALLED_BOOTIMAGE_TARGET) \??$(recovery_binary) \??$(recovery_initrc) $(recovery_kernel) \??$(INSTALLED_2NDBOOTLOADER_TARGET) \??$(recovery_build_prop) $(recovery_resource_deps) \??$(recovery_fstab) \??$(recovery_gzip) $(recovery_sec_ko) \??$(RECOVERY_INSTALL_OTA_KEYS)的前面添加:ifeq ($(TARGET_USERIMAGES_USE_UBIFS),true)$(INSTALLED_RECOVERYIMAGE_TARGET): $(recovery_ubiformat)endif

否则会编译失败!

(4). 修改后Android编译时间降低16%~18% (数据仅供参考)

(5). 此种方法google已在4.3版本默认应用了。

(6). 仅对new有效果,但是由于没有编译没有用到的模块,不仅节省时间还节省磁盘空间(节省out目录下的中间文件)。

?

2. 开启android ccache

(1). ccache是google默认就存放在codebase的工具,对于ccache的功能可以到网络搜寻资料。

(2). 设置cache大小(这一步一定要做!!),一个codebase需要大约5G的空间,如果你的编译环境有5个codebase在使用,那么需要25G的空间。设置小了还会引起编译时间延长!!

??? [1].GB版本:prebuilt/linux-x86/ccache/ccache -M 25G

??? [2].JB版本:prebuilts/misc/linux-x86/ccache/ccache -M 25G

(3).?开启的方法:

??? [1].命令行增加USE_CCACHE=1即可:./mk -o=USE_CCACHE=1 n。如果是user版本开启ccahce的话,可以这样:./mk -o=USE_CCACHE=1,TARGET_BUILD_VARIANT=user n。

??? [2].建议:添加到环境变量(其他方式亦可):修改alps/makeMtk,在#!/usr/bin/perl之后新建一行,填写$ENV{"USE_CCACHE"} = 1;

(4).?第1次编译会花多一点时间建立cache,之后即可享受ccache带来的好处,降低所有使用gcc的编译时间,大约25%~30%。

??? [1].可以通过ccache -s查看cache信息,如果满了可以用ccache -C清除所有。在满

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值