目录一、源代码结构...............................................................................................................................2第一层次目录...........................................................................................................................2bionic目录................................................................................................................................3bootloader目录.........................................................................................................................5build目录.................................................................................................................................7dalvik目录................................................................................................................................9development目录.....................................................................................................................9external目录...........................................................................................................................13frameworks目录.....................................................................................................................19Hardware.................................................................................................................................20Out...........................................................................................................................................22Kernel......................................................................................................................................22packages目录.........................................................................................................................24prebuilt目录...........................................................................................................................28SDK.........................................................................................................................................30system目录............................................................................................................................30Vendor.....................................................................................................................................33一、源代码结构第一层次目录Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:.|--Makefile(全局的Makefile)|--bionic(Bionic含义为仿生,这里面是一些基础的库的源代码)|--bootloader(引导加载器),我们的是bootable,|--build(build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)|--dalvik(JAVA虚拟机)|--development(程序开发所需要的模板和工具)|--external(目标机器使用的一些库)|--frameworks(应用程序的框架层)|--hardware(与硬件相关的库)|--kernel(Linux2.6的源代码)|--packages(Android的各种应用程序)|--prebuilt(Android在各种平台下编译的预置脚本)|--recovery(与目标的恢复功能相关)`--system(Android的底层的一些库)bionic目录bionicC库bionic目录展开一个级别的目录如下所示:bionic/|--Android.mk|--libc|--libdl|--libm|--libstdc++|--libthread_db`--linkerbionic目录|--libc(C库)||--arch-arm(ARM架构,包含系统调用汇编实现)||--arch-x86(x86架构,包含系统调用汇编实现)||--bionic(由C实现的功能,架构无关)||--docs(文档)||--include(头文件)||--inet(?inet相关,具体作用不明)||--kernel(Linux内核中的一些头文件)||--netbsd(?nesbsd系统相关,具体作用不明)||--private(?一些私有的头文件)||--stdio(stdio实现)||--stdlib(stdlib实现)||--string(string函数实现)||--tools(几个工具)||--tzcode(时区相关代码)||--unistd(unistd实现)|`--zoneinfo(时区信息)|--libdl(libdl实现,dl是动态链接,提供访问动态链接库的功能)|--libm(libm数学库的实现,)||--alpha(apaha架构)||--amd64(amd64架构)||--arm(arm架构)||--bsdsrc(?bsd的源码)||--i386(i386架构)||--i387(i387架构?)||--ia64(ia64架构)||--include(头文件)||--man(数学函数,后缀名为.3,一些为freeBSD的库文件)||--powerpc(powerpc架构)||--sparc64(sparc64架构)|`--src(源代码)|--libstdc++(libstdc++C++实现库)||--include(头文件)|`--src(源码)|--libthread_db(多线程程序的调试器库)|`--include(头文件)`--linker(动态链接器)`--arch(支持arm和x86两种架构)bootloader目录启动引导相关代码bootloader目录展开的两个级别目录:bootloader/`--legacy|--Android.mk|--README|--arch_armv6|--arch_msm7k|--fastboot_protocol.txt|--include|--libboot|--libc|--nandwrite`--usbloaderbootable目录.|--bootloader(适合各种bootloader的通用代码)|`--legacy(估计不能直接使用,可以参考)||--arch_armv6(V6架构,几个简单的汇编文件)||--arch_msm7k(高通7k处理器架构的几个基本驱动)||--include(通用头文件和高通7k架构头文件)||--libboot(启动库,都写得很简单)||--libc(一些常用的c函数)||--nandwrite(nandwirte函数实现)|`--usbloader(usbloader实现)|--diskinstaller(android镜像打包器,x86可生产iso)`--recovery(系统恢复相关)|--edify(升级脚本使用的edify脚本语言)|--etc(init.rc恢复脚本)|--minui(一个简单的UI)|--minzip(一个简单的压缩工具)|--mtdutils(mtd工具)|--res(资源)|`--images(一些图片)|--tools(工具)|`--ota(OTAOverTheAirUpdates升级工具)`--updater(升级器)build目录存放系统编译规则及generic等基础开发包配置build目录展开的一个级别的目录如下所示:build/|--buildspec.mk.default|--cleanspec.mk|--core(各种以mk为结尾的文件,它门是编译所需要的Makefile)|--envsetup.sh|--libs|--target(包含board和product两个目录,为目标所需要文件)`--tools(编译过程中主机所需要的工具,一些需要经过编译生成)其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。envsetup.sh是一个在使用仿真器运行的时候,用于设置环境的脚本。build目录|--core(核心编译规则)|--history(历史记录)|--libs|`--host(主机端库,有android“cp”功能替换)|--target(目标机编译对象)||--board(开发平台)|||--emulator(模拟器)|||--generic(通用)|||--idea6410(自己添加的)||`--sim(最简单)|`--product(开发平台对应的编译规则)|`--security(密钥相关)`--tools(编译中主机使用的工具及脚本)|--acp(AndroidacpCommand)|--apicheck(api检查工具)|--applypa