del.icio.us Tags:
android
With one day of study, my first impress is that android has a pretty good build architecture.
- support multiple targets/hosts/toolchains
- has good templates for developer to insert new modules for android (app/static/dynamic/C|C++ executables/Java libraries)
- has a pretty good document about build system in source tree (see below)
- it’s non-recursive makefile architecture which will be base for build faster
- centralized output directory across platform which get “make clean” more reliable
- support component standalone build/clean
- support CCACHE which help build faster via reusing objects
- support parallel build on multiple-CPU/core computer (make –j <N>)
- support different mode of build (eng/user/userdebug)
- good architect to support both global variables and local variables well
TODO list for myself
- study how dependency is managed
- study how stuffs are compiled into final image (system.img)
- study how to release SDK periodically for developers
- study if it could be compiled with distcc quickly
- how to get modules compiled/debug in eclipse directly without turn to command line
- how to add a new product support base on android
- frequently used SCM rules when developing android modules
- summarize a internal quick-start guideline for my team
- naming rules for version number of various build (version_defaults.mk)
- study how the published api change is detected
- how to support different localization
- stay tuned for more
References:
- * Anroid build system overview (<root>/development/pdk/docs/build_system.html)
- * Android build system guide (<root>/build/core/build-system.html)
- Android编译环境(1) - 编译Native C的helloworld模块
- Porting Android to A1200
- Android build system [from discuz-android.blogspot.com]
- Android-DL Wiki
- Android build system [from Steve Guo Blog]
- Android on OMAP