作为一位底层开发人员,特别是Android底层开发,最基本的是熟悉Android源代码。Android源代码目录非常庞大,包含Android的编译脚本、目标代码、主机编译工具、仿真环境。
顶层目录:
|—— Makefile
全局的Makefile。
|—— bionic
Bionic libc库
|—— bootable
引导加载器,recovery系统,里面包含u-boot,即bootloader,用来引导操作系统运行的,机器上电后先运行的程序。
|—— build
编译,配置所需要的脚本和工具。
|—— dalvik
Java虚拟机,很多人不明白为什么要Java虚拟机,原因是操作系统是C语言写的,而Android程序是Java写的,所以必须为Java提供运行环境,并提供Java编程语言核心库的大多数功能。呵呵,是否又有疑问,Android不是操作系统吗?如果你这么想,那就错了!Android是一个包括操作系统、中意件和关键应用的移动设备软件堆,Android是基于Linux操作系统的。
|—— development
程序开发所需要的模板和工具。
|—— external
外部程序库。
|—— frameworks
Android应用程序框架。
|—— hardware
硬件相关的库。
|—— kernel_xxx
Linux2.6内核源代码,xxx表示相对应的开发板型号。
|—— packages
应用程序。
|—— prebuilt
预编译的主机及目标机程序、工具。
|—— sdk
SDK。
|—— system
Android根目录相关。
|——device
各厂商配置、编译脚本及闭源二进制。
由于时间关系,先暂时介绍顶层源码。