阅读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 |
工具文件 |
【Android源码目录】其中比较重要的目录有package、framework
package源码根目录 |
描述 |
apps |
核心应用程序,系统自带的app |
experimental |
第三方应用程序 |
inputmethods |
输入法目录 |
screensavers |
屏幕保护 |
services |
通信服务,拨号app |
wallpapers |
墙纸 |
framework源码重要根目录 |
描述 |
av |
系统媒体库 |
base |
应用框架层基础实现代码 |
native |
c++代码,OpenGL就在其中 |
推荐阅读