浏览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就在其中 |