阅读Android源码,最重要的是清楚每个目录是干什么的。关于源码的阅读,我们可以访问http://androidxref.com/来阅读。
这个网站更新到18年,下面我们以网站里最新的Pie - 9.0.0_r3为例子来分析。
1.首先打开网站如下图:
image.png

2.目录分析

Android源码根目录描述
Android.bp编译配置文件,是用来代替原来的Android.mk文件的
artAndroid Runtime 全新的ART运行环境
bionicGoogle开发的系统C库,以BSD许可形式开源。Android系统与Linux内核的桥梁
bootable启动引导相关代码
bootstrap.bash编译脚本
build存放系统编译规则及generic等基础开发包配置
compatibilityAndroid兼容性计划 Android源代码,Android兼容性定义文档(CDD文档),兼容性测试套件(CTS)
cts存放系统编译规则及generic等基础开发包配置
dalvikdalvik虚拟机,用于解析执行dex文件的虚拟机
developers开发者目录
device设备相关配置,厂商小米、OPPO、索尼、HTC、自己的产品,就可以定义在这个目录下
external开源模组相关文件
frameworks应用程序框架,Android系统核心部分,由Java和C++编写
hardware主要是硬件抽象层的代码 ,hal层代码
kernelLinux内核目录
libcore核心库相关文件
libnativehelper动态库,实现JNI库的基础
Makefile编译文件
packages应用程序包,应用层位于Android系统的最上层,开发者开发的应用程序以及系统内置的应用程序都在应用层
pdkplug development kit的缩写,本地开发套件
platform_testing平台测试
sdkSDK和模拟器
system底层文件系统库、应用和组件
test测试目录
toolchain工具链文件
tools工具文件

其中比较重要的目录有package、framework

package源码根目录描述
apps核心应用程序,系统自带的app
experimental第三方应用程序
inputmethods输入法目录
screensavers屏幕保护
services通信服务,拨号app
wallpapers墙纸
framework源码重要根目录描述
av系统媒体库
base应用框架层基础实现代码
nativec++代码,OpenGL就在其中

zorro
52 声望2 粉丝