Android 提升Android编译速度
来源:互联网 发布:传奇世界物品数据库 编辑:程序博客网 时间:2024/06/04 18:40
前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
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
(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清除所有。在满了状态下编译新codebase,将会旧的那个清除,这回降低效率,所以cache一定要设置正确!
(6). 对mm/new/remake都有效果。
以上两种方法优化后大约可降低50%的编译时间,也就是说优化前需要1小时编译时间,优化后半小时就完成了。
0 0
- 提升Android编译速度
- Android 提升Android编译速度
- 提升Android studio 编译速度
- Android Studio提升项目的编译速度
- [待完善]提升Android Studio的编译速度
- 提升gradle对android项目的编译速度
- 一分钟帮你提升Android studio 编译速度
- 一分钟帮你提升Android studio 编译速度
- 提升Android app启动速度
- 加快Android编译速度
- android加快编译速度
- 加快Android编译速度
- 加快Android编译速度
- 加快Android编译速度
- 加快android编译速度
- 提升编译速度
- 提升gradle编译速度
- 知道Android 中Gradle 的这些技巧,提升编译构建速度
- iOS 序列化与反序列化
- 三种读取Excel方法
- 22、高级工具--常用号码查询,ExpandableListView的使用
- Python编程.Bluetooth HID Mouse and Keyboard(一)
- 你是一名努力工作的程序员,还是懒惰的程序员?
- Android 提升Android编译速度
- google jquery jquery取得table的第几行几列
- Android [USB]OTG功能如何打开及实现
- FreeRTOS 笔记一:配置之FreeRTOSConfig.h
- Android 技巧 - PopupWindow 最优定位
- 硬盘分区表及数据的恢复
- Ceilometer alarm 初学习
- 在jsp页面获取url请求参数
- 在MTK6572当中如何增加一个新按键,而且此按键值在虚拟按键当中可以使用