开启ccache提升Android编译速度

Android codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。实际上这个编译时间还是可以进一步缩短!
ccache工具通过将头文件高速缓存到源文件之中而改进了构建性能,因而通过减少每一步编译时添加头文件所需要的时间而提高了构建速度。ccache是google默认就存放在codebase的工具。

具体操作:
1、配环境变量:
a. 进入usr目录打开.bashrc文件:sudo gedit ~/.bashrc
b.在.bashrc文件中增加如下信息并保存:
export USE_CCACHE=1
export CCACHE_DIR=~/.ccache
2、配置ccache大小
a.进入Android工程目录
b.设置cache大小(这一步一定要做!!),这里选择配30G,在上面的目录下执行以下命令:prebuilts/misc/linux-x86/ccache/ccache -M 30G (注意:设置小了还会引起编译时间延长)
3、正常编译Android工程
mmm/new/remake android
4、第1次编译会花多一点时间建立cache,之后即可享受ccache带来的好处,降低所有使用gcc的编译时间。可以通过ccache -s查看cache信息,如果满了可以用ccache -C清除所有。在满了状态下编译新codebase,将会旧的那个清除,这会降低效率,所以cache一定要设置正确!

以上ccache只对编译android有效,kernel部分需要额外设置才行。这样在编译kernel时也可以享受到ccache带来编译时间的缩短。kernel/Makefile文件中的

S  = $(CROSS_COMPILE)as
LD  = $(CROSS_COMPILE)ld.bfd
CC  = $(CROSS_COMPILE)gcc
CPP  = $(CC) -E
之后添加:
ifneq ($(USE_CCACHE),)
  export CCACHE_COMPILERCHECK := content
  export CCACHE_SLOPPINESS := time_macros,include_file_mtime,file_macro
  export CCACHE_BASEDIR := /
  ccache := $(strip $(wildcard $(PWD)/../prebuilts/misc/linux-x86/ccache/ccache))
  ifdef ccache
    ifneq ($(ccache),$(firstword $(CC)))
      CC := $(ccache) $(CC)
    endif
    ccache =
  endif
endif
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值