浏览 Android 源码,最重要的是分明每个目录是干什么的。对于源码的浏览,咱们能够拜访 http://androidxref.com/ 来浏览。
这个网站更新到 18 年,上面咱们以网站里最新的 Pie – 9.0.0_r3 为例子来剖析。
1. 首先关上网站如下图:
2. 目录剖析
Android 源码根目录 | 形容 |
---|---|
Android.bp | 编译配置文件, 是用来代替原来的 Android.mk 文件的 |
art | Android Runtime 全新的 ART 运行环境 |
bionic | Google 开发的零碎 C 库,以 BSD 许可模式开源。Android 零碎与 Linux 内核的桥梁 |
bootable | 启动疏导相干代码 |
bootstrap.bash | 编译脚本 |
build | 寄存零碎编译规定及 generic 等根底开发包配置 |
compatibility | Android 兼容性打算 Android 源代码,Android 兼容性定义文档(CDD 文档),兼容性测试套件(CTS) |
cts | 寄存零碎编译规定及 generic 等根底开发包配置 |
dalvik | dalvik 虚拟机,用于解析执行 dex 文件的虚拟机 |
developers | 开发者目录 |
device | 设施相干配置,厂商小米、OPPO、索尼、HTC、本人的产品,就能够定义在这个目录下 |
external | 开源模组相干文件 |
frameworks | 应用程序框架,Android 系统核心局部,由 Java 和 C ++ 编写 |
hardware | 次要是硬件形象层的代码,hal 层代码 |
kernel | Linux 内核目录 |
libcore | 外围库相干文件 |
libnativehelper | 动静库,实现 JNI 库的根底 |
Makefile | 编译文件 |
packages | 利用程序包,应用层位于 Android 零碎的最上层,开发者开发的应用程序以及零碎内置的应用程序都在应用层 |
pdk | plug development kit 的缩写,本地开发套件 |
platform_testing | 平台测试 |
sdk | SDK 和模拟器 |
system | 底层文件系统库、利用和组件 |
test | 测试目录 |
toolchain | 工具链文件 |
tools | 工具文件 |
其中比拟重要的目录有 package、framework
package 源码根目录 | 形容 |
---|---|
apps | 外围应用程序,零碎自带的 app |
experimental | 第三方应用程序 |
inputmethods | 输入法目录 |
screensavers | 屏幕爱护 |
services | 通信服务,拨号 app |
wallpapers | 墙纸 |
framework 源码重要根目录 | 形容 |
---|---|
av | 零碎媒体库 |
base | 利用框架层根底实现代码 |
native | c++ 代码,OpenGL 就在其中 |