android编译速度提高的方法

来源:互联网 发布:淘宝达人发布优质帖子 编辑:程序博客网 时间:2024/05/16 06:00
[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). 修改后Android编译时间降低16%~18% (数据仅供参考)
(4). 此种方法google已在4.3版本默认应用了。
(5). 仅对new有效果,但是由于没有编译没有用到的模块,不仅节省时间还节省磁盘空间(节省out目录下的中间文件)。

2. 开启ccache
看了embedded android发现这个ccache的使用方式,可以加速我们c与c++的编译速度原理就是中间文件的一个缓存,是同一个.o文件的话就省去再次编译的速度。
介于android中c与c++文件数量能占到刚不到一半,所以这个速度还是能省下很多的。
看到原理大概也就是知道这个东西第一次编译是没有效果的,只有开启ccache后编译一次后就会有效果。
使用方式:
在~/.bashrc文件中
添加环境变量:
 1.$ export USE_CCACHE=1
 #建立缓存目录
 2.$ export CCACHE_DIR=~/.ccache
实际上我用的是 export CCACHE_DIR=/home/liwei/android_environment/cache (因为建的cache文件夹在那里)
设置缓存大小:
3.$cd android/
4.$prebuilt/linux-x86/ccache/ccache -M 20G
实际我用的是prebuilts/misc/linux-x86/ccache/ccache -M 50G

You can watch ccache being used by doing the following:
$ watch -n1 -d prebuilt/linux-x86/ccache/ccache -s          



以上两种方法优化后大约可降低50%的编译时间,也就是说优化前需要1小时编译时间,优化后半小时就完成了。
加快编译
来源: <http://www.16rd.com/thread-17029-1-4.html>
 
0 0
原创粉丝点击