Android源代码目录结构
作者:华嵌长沙中心讲师 周龙
早期的android源代码目录,包含内核、bootloader等,现在已经没有包含这些了,最新版本(4.4)主要包含如下目录: bionic: Android C 库; android没有用glibc, 而且基于BSD-derived 源代码开发出 Bionic。这个目录主要包含了C库、math、以及其他核心运行库的实现代码。 bootable: 启动及引导相关的代码; 还包含了android fastboot协议的实现。 build: 这个目录包含了android 编译系统的实现,包含了所有核心makefile模块及脚本,以及envsetup.sh(这个脚本主要用来设置android编译环境)。 dalvik: Dalvik Virtual Machine(android 的java虚拟机)的实现。 development: 包含与开发相关的项目(如sdk、ndk)源代码。 device: 与具体产品相关的代码及配置文件等,比如特定产品的编译配置文件、硬件相碰的模块代码等等。 external: 包含外部的第三方开源项目的源代码,比如SDLite, jpeg, libogg, … frameworks: 包含android frameworks的实现代码; 以及关键服务(比如System Server, Activity managers等)的实现,以及java 应用API与本地库之间的映射。 hardware: 硬件相关源代码,以及包含android硬件抽象层(HAL层:Hardware Abstraction Layer)协议及源码实现。 packages: 包含默认的android应用程序比如联系人、日历、浏览器等等。 prebuilts: 包含预编译的二进制程序,如ARM-eabi-gcc等 system: 包含android核心系统的源码实现,以及init进程的源码实现及init.rc 脚本。实际上这个目录包含的是一个最小的linux根文件系统的实现,这个系统是在android虚拟机及基本java服务跑起来前运行。 out: 这个目录包含android编译输出结果,包括中间文件和最终映像文件。 out/host/ 包含运行在主机上面的程序及文件; out/target/product/ 包含在最终产品上运行的程序及文件。
未完.,待续......
|