User Tools

Site Tools


android:speedandroidcompile

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
android:speedandroidcompile [2010/04/01 13:12] – created percyandroid:speedandroidcompile [2016/05/05 13:07] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +如何加快Android单模块编译速度
 +
 +
 +参见:http://blog.csdn.net/absurd/archive/2009/10/11/4654447.aspx
 +
 +原文引用:
 +<code>
 +加快Android单模块编译
 +
 +转载时请注明出处和作者联系方式
 +文章出处:http://www.limodev.cn/blog
 +作者联系方式:李先静 <xianjimli at hotmail dot com>
 +
 +习惯了automake之后,再用Android的编译系统,就是感觉不爽。编译一个小模块也等上几分钟,有次实在受不了,看了一下它的实现,发现它对任何一次编译都要查找所有的Android.mk:
 +
 +subdir_makefiles=$(shell cat build/tools/Android.mk.cache)
 +
 +我把build/core/main.mk修改了一下,增加了一个cache:
 +
 +subdir_makefiles=$(shell cat build/tools/Android.mk.cache)
 +ifeq ($(subdir_makefiles),)
 +$(info "no cache. create build/tools/Android.mk.cache")
 +$(shell build/tools/findleaves.sh --prune="./out" . Android.mk > build/tools/Android.mk.cache)
 +subdir_makefiles=$(shell cat build/tools/Android.mk.cache)
 +else
 +$(info "use cache: build/tools/Android.mk.cache")
 +endif
 +
 +速度终于可以接受了。
 +</code>
 +
 +参照上面的说明,修改
 +  build/core/main.mk
 +大概在463行,现在findleaves.sh改为findleaves.py了:
 +<code BASH>
 +subdir_makefiles=$(shell cat build/tools/Android.mk.cache)
 +ifeq ($(subdir_makefiles),)
 +$(info "no cache. create build/tools/Android.mk.cache")
 +$(shell build/tools/findleaves.py --prune="./out" . Android.mk > build/tools/Android.mk.cache)
 +subdir_makefiles=$(shell cat build/tools/Android.mk.cache)
 +else
 +$(info "use cache: build/tools/Android.mk.cache")
 +endif
 +</code>
 +