注：源码基于Openthos8.0

#### art

#### bionic

基础c库源码

#### bootable

引导加载器

#### build

编译和配置所需的脚本和工具

- blueprint : 一个用GoLang写的框架，用于编译源码。
- kati : 直接把Android.mk转化成Ninja文件。
- Soong : 把Android.bp解析为Ninja文件
- make : 具体的编译规则

#### cts

cts兼容性规范测试用例

#### dalvik

java虚拟机

developers

#### development

程序开发所需的实例，模板，工具

#### device

厂商定制代码

#### external

android使用的额外开源库

#### frameworks

应用程序的核心框架层(java, c++)

##### av

- libaudioflinger模块在services/audioflinger目录
- libmedia模块在media/libmedia目录

##### base

- zygote模块在cmds/app_process目录

- system_server模块在services/java目录
- framework模块即为当前目录

##### native

- libsurfacefilinger模块在services/surfaceflinger目录

#### hardware

一些与硬件相关的库，部分厂家开源的硬解适配层HAL代码

##### ril

rild模块在rild目录

#### kernel

Linux源代码

#### libcore

媒体播放框架相关代码

libnativehelper


#### packages

各种应用程序实例

##### providers/MediaProvider

MediaProvider模块在此目录

#### prebuilts

编译工具链

- go : GoLang运行环境，用于编译go语言写的项目，如build/blueprint和build/soong。

#### system

底层文件系统/库/应用及组件(C语言)

##### core

init模块在init目录

##### vold

vold模块

#### vendor

厂商定制代码

#### Makefile

全局的makefile，编译的入口

#### out

编译生成的目录

##### host

在宿主机上用的工具，是一些二进制程序或java程序

- common/obj : java库
- linux-x86 : linux上的程序、库和中间目标文件
- windows-x86 : 包含一些*.a.txt文件，可能以后为windows平台编译做准备？目前看来没什么用。

##### target

编译的目标

- common :  通用的内容。

  R - 资源文件

  obj/APPS - java应用程序的中间目标文件

  obj/JAVA_LIBRARIES - 应用程序的库文件。

- product/openthos : 针对oto8的内容。

  installer - 用于生成initrd.img(注：install.img来自于bootable/newinstaller/install目录)

  root - 用于生成ramdisk.img

  system - 用于生成system.img，进而再压缩成system.sfs

  obj/APPS为应用程序

  obj/EXECUTABLES为可执行文件

  obj/SHARD_LIBRARIES为动态库

  obj/STATIC_LIBRARIES为静态库