本文讨论的源码全部基于 Android 6.0.1
先查看以下源码的总体结构
依次分析以下每个文件夹
abi ======= Application binary interface 应用程序二进制接口,生成libgabi++.so相关库文件
art ======= Android Runtime 是稍微往后一点儿的android才有的,与 dalvik 关系密切
bionic ======= Android 的一些主要的C库文件
bootable ======= Android 系统启动引导相关的代码
build ======= 主要放置android系统源码的编译规则 内部主要是 Makefile 文件
cts ======= 一款针对 android 的测试工具
developers ======= 一些独立的可以运行的 demo
development ======= 应用程序开发需要用到的工具
device ======= 各个厂商针对自己设备代码,设备的抽象
docs ======= 文档
external ======= 一些第三方开源模板
frameworks ======= android 核心框架层
handware ======= 部分硬件厂商的开源 HAL 层代码
libcore ======= 核心库
libnativehelper ======= JNI 相关的调用
ndk ======= ndk开发相关
out ======= 源码编译完成的输出目录
package ======= 系统级应用程序
sdk ======= 应用程序开发包 和 模拟器
system ======= 系统文件