Professional Documents
Culture Documents
Todays goal
Getting to know the build system
Navigating the source tree
Resources
<android source root>/build/core/build-
system.html
http://elinux.org/
Embedded Android by Karim Yaghmour
Other sources: Android Building google groups
Git & Repo
$ cd .repo
$ ls al
$ cd manifests
$ vi default.xml
(vi or whatever editor)
$ git branch -a
Build Targets
eng
adb enabled and runs as root by default
(ro.secure=0)
DDMS & debugger connection enabled
(ro.debuggable=1)
user
adb disabled by default & no debugging
userdebug
adb enabled (does not run as root) & debugging
support
Try Out!
$ godir Android.mk
Make System
Combines
Build configuration (build/envsetup.sh & lunch)
Core .mk files (build/core/main.mk,
build/core/config.mk,
build/core/definitions.mk, build/core/Makefile,
etc.)
Product descriptions (AndroidProducts.mk & .mk
for the specific product)
Board description (BoardConfig.mk) files
Module description (Android.mk) files
Make Targets
$ make modules
$ cd dalvik/dalvikvm
$ vi Android.mk
Source Tree
$ adb shell df
Architecture
Apps
APIs
System Services Java Libraries
wakelocks
lowmem handler
Binder
ashmem (Anonymous Shared Memory)
Logger