Android源代码结构分析解析

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一、源代码结构 (2)

第一层次目录 (2)

bionic目录 (3)

bootloader目录 (5)

build目录 (7)

dalvik目录 (9)

development目录 (9)

external目录 (13)

frameworks目录 (19)

Hardware (20)

Out (22)

Kernel (22)

packages目录 (22)

prebuilt目录 (27)

SDK (28)

system目录 (28)

Vendor (32)

一、源代码结构

第一层次目录

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目录

bionic C库

bionic目录展开一个级别的目录如下所示:bionic/

|-- Android.mk

|-- libc

|-- libdl

|-- libm

|-- libstdc++

|-- libthread_db

`-- linker

bionic 目录

|-- 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

`-- usbloader

相关文档
最新文档