本系列的阅读,前提你是一个Android开发者,而且是一个app开发,并且有一定的工作经验。本系列的学习,不会每个细节都说明,会把有“看点”的地方加以说明。
我们开发或者熟悉任何软件项目,都要了解包名结构或者叫目录结构,这样我们就像看一本书,知道目录,我们就知道这本书讲了什么,并且我们可以根据目录快速找到自己感兴趣的内容。
bionic
Android的Linux内核库
build
存放系统编译规则等基础开发包配置,envsetup.sh编译初始化 shell 脚本,后面你基本都要和它打交道
cts
Android兼容性测试套件标准
dalvik
dalvik虚拟机
external/
android使用的一些开源的模组,如下图所示,看红框里面的开源库是不是特别的熟悉呢,因为篇幅有限,glide也在里面哦
frameworks
这就是我们专门要学习的东西,核心框架——主要由java及C++语言等开发语言编写的,包含系统运行的各种服务框架,向 app 层提供 api ,根据 JNI 机制或者 socket 往下层调用。
hardware
部分厂家开源的硬件适配层HAL代码,硬件抽象层
system
底层文件系统库、应用及组件
device
一般的存放规则是 /device/ 厂商目录 / 产品目录
out
编译完成后的代码输出于此,作为 android 源码编译结果存放目录,其中包含各种中间文件以及目标文件
packages/apps
这个目录就是我们手机上的原生应用的存放目录
好了,主要的目录就介绍这么多,慢慢来~