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 : 无线支持