Applications Applications Application Frameworks Libraries & Runtime Linux Kernel Audio Display Hardware Abstraction Layers Firmware Binaries WiFi Binder Camera Logger ... GPS Radio (RIL) Camera Media NFS Sensors Audio ... Skia Core Libraries Dalvik VM ... SQlite ALSA Freetype Input Webkit System Services Power Manager Activity Manager Content Manager Battery Service Location Manager Audio Service Network Manager Package Manager Window Manager ... Home Settings Media Player Camera Dialer ... Media Server Service Manager ...
Heads up: Preparing Development Machines for AOSP
JBQ's mail on android-building list for the future release of ICS in AOSP.
-> 06GB of download -> 25GB disk space to do single build -> 80GB disk space to build all AOSP configs -> 16GB RAM recommended -> 5+ hours of CPU time for a single build on a 2x quad-core 2.4 GHz HT with 24GB RAM and no SSD.
Initializing Android build environment
-> 64bit Ubuntu-10.04. Workarounds available to build AOSP on 32bit machines as well. -> Sun-Java6, git, build-essentials, libgl1-mesa, libc6 ... etc
bionic Android's C library. bootable Legacy Bootloader/Recovery code for reference build AOSP Build framework cts Android's Compatibility Test Suite dalvik Dalvik Virtual Machine development Development tools #tutorials #monkey device Vendor specific configuration files external External projects used in AOSP frameworks Android core application framework hardware Hardware specific libraries/modules #HAL kernel Linux Kernel libcore Apache Harmony. Free Java implementation. Used by Dalvik. ndk Native Development Kit packages AOSP's stock applications prebuilt Prebuilt binaries such as Toolchain sdk Android's Software Development Kit system Android's core system libraries/binaries #init #toolbox #adb
-> . build/envsetup.sh -> Setting up build environment -> lunch -> Choose the TARGET_PRODUCT -> export USE_CCACHE = 1 -> will cache object files generated by the C/C++ compiler which can be used to speed up next build. -> make -jX -> where X = “number of CPU cores in your build machine” + 1. OR -> m , mm or mmm -> make aliases which is handy while building AOSP projects independently.
Kernel Init Service Manager system server Zygote (-> Dalvik) On init ... On boot ... binder Android Framework Services/Servers Activity Manager Power Manager Package Manager Content Manager Battery Service Window Manager Location Manager Audio Service Alarm Manager Network Manager Media Server ... Android Application
-> android-porting google group. -> for porting AOSP to new devices -> #android on freenode IRC server -> android-building google group. -> help in building AOSP -> ask-linaro forum -> Ask Linux/Android queries. -> #linaro-android on freenode -> rowboat google group. -> for porting AOSP to Omap3 devices. -> #rowboat on freenode.