之前从来没有仔细研究过Android源代码,对Android的理解不够,为了让自己能够更上一层楼,今后开始研究源码。
首先介绍一下源码文件目录:
根目录 | 描述 |
art | 一种app运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性 |
abi | abi相关代码,应用程序二进制接口 |
bionic | bionic C库 |
bootable | 启动引导相关代码 |
build | 存放系统编译规则及generic等基础开发配置包 |
cts | Android兼容性测试套件标准 |
dalvik | dalvik java虚拟机 |
development | 应用程序开发相关代码 |
device | 设备相关代码 |
docs | 介绍开源的相关代码 |
external | Android使用的一些开源的模组 |
frameworks | 核心框架--Android及C++语言,是Android应用程序的框架 |
gdk | 即时通信模块 |
hardware | 主要是硬件适配层HAL代码 |
kernel | Linux的内核文件 |
libcore | 核心库相关 |
libnativehelper | 动态库,是实现JNI的基础 |
ndk | ndk相关代码,Android NDK是一系列的开发工具,允许程序开发人员在Android应用程序中嵌入C/C++语言编写的非托管代码 |
out | 编译完成后的代码输出在此目录 |
packages | 应用程序包 |
pdk | Plug development kit的缩写,是本地开发套件 |
prebuilts | x86和arm架构下预编译的资源 |
sdk | sdk及模拟器 |
system | 文件系统和应用及组件,是用C语言实现的 |
tools | 工具文件夹 |
vendor | 厂商定制代码 |
Makefile | 全局的Makefile |
一般来说只需要研究art、frameworks、libcore、libnativehelper、packages和system包即可。