原文: http://blog.csdn.net/free2o/article/details/4033513
1. andriod 代码层次
|– Makefile : 系统的 Makefile
|– bionic : C 库函数的替代品
|– bootable : 和引导相关的代码
|– build : 是编译和配置所需要的脚本和工具
|– dalvik : java 虚拟机
|– development : 程序开发所需要的模板和工具
|– external : 用的外部的开源的扩展库,编译生成在目录 /lib
|– frameworks : android SDK 的框架
|– hardware : 与硬件相关的代码
|– kernel : linux kernel 源代码
|– out : 编译生成的目录
|– packages : Android的各种应用程序
|– prebuilt : 编译的预置脚本
`– system : 底层的一些库
2. bionic目录展开一个级别的目录如下所示:
bionic/
|– Android.mk
|– libc : c 库函数实现, ,只是支持 arm 和 x86 平台,其他平台编译会报错
|– libdl : 动态链接库支持的函数实现,只是支持 arm 和 x86 平台,其他平台编译会报错
|– libm : c 函数中数字计算函数,这部分代码在多个平台下实现了:alpha, amd64, arm, bsdsrc,
i386, i387,i64, powerpc, sparc64
|– libstdc++ : c++ 的库函数
|– libthread_db : thread 的一个实现
`– linker : 和编译起 linker 对接的代码,现在只是支持 x86 和 arm 平台
- no support for locales
- no support for wide chars (i.e. multi-byte characters)
- its own smallish implementation of pthreads based on Linux futexes
- support for x86, ARM and ARM thumb CPU instruction sets and kernel
interfaces
3. bootable 目录展开目录如下所示 :
bootable/
|– bootloader : 启动相关的代码,里面主要的代码是 usbloader, nandwrite, libc, libboot,
arch_armv6, arch_msm7
|– diskinstaller : 把编译之后的image 安装到 disc 上的工具
`– recovery : 恢复机制
4. build目录展开目录如下所示 :
build/
|– buildspec.mk.default
|– cleanspec.mk : make clean 调用到的脚本
|– core : 核心组建编译的Makefile 以及相关的脚步
|– envsetup.sh : 设置编译的环境
|– history : 存放 git log 的一个路径。
|– libs : 没什么实质内容,不是很清楚
|– target : 目标输出的内容的编译脚本
`– tools : 一些工具的编译Makefile 以及相关脚本
5. development目录展开如下所示:
development
|– apps :Android应用程序的模板,代码
|– build :编译脚本模板
|– cmds
|– data
|– docs : SDK 的 release note
|– emulator :仿真相关
|– host :包含windows平台的一些工具
|– ide : Eclipse, intellij, xcode 三种IDE 环境下的插件
|– pdk :platform development kit
|– samples :一些示例程序
|– simulator :大多是目标机器的一些工具
|__ testrunner :测试工具的代码
`– tools :开发过程可能需要的一些工具的代码,例如调试器, 跟踪trace.
6.frameworks目录展开如下所示: (是Android应用程序的框架)
frameworks/
|– base :
|– opt
`– policies
7. system 目录展开如下:
system/
|– bluetooth : 蓝牙支持代码
|– core : adb, cpio, debuggerd, fastboot, init, logcat … 代码
|– extras : showmap etc….
`– wlan : 无线支持