Android源码 目录

1. 根目录

instruction:Master-android - eLinux.org

文件夹名内容
art全新的ART运行环境
bionic系统C库
bootable系统启动引导代码
build存放Android系统编译规则,以及generic等基础开发配置包。
ctsAndroid 兼容性测试套件标准
dalvikDalvik虚拟机
developers开发者目录,包含构建App和一些demo代码
development与应用成虚开发相关
device设备相关配置
docs参考文档目录
external开源模组相关文件,一些开源第三方组件,例如:glide、junit、dagger2等
frameworks应用程序框架,Android系统核心部分,由Java和C++编写
hardware主要包含了 android HAL(硬件抽象层)相关代码。硬件抽象层介于 Linux内核驱动程序与 Android 系统之间。对 Linux 驱动进行了封装,使操作系统级别可以忽略底层实现的细节
libcore核心库相关文件
libnativehelper动态库,实现JNI库的基础
out编译完成后生成的所有都在这里
pdkPlatform Development kit的缩写,平台开发套件,仅包含了一些供硬件抽象层开发使用的必要组件,供一些 OEM 厂商用来适配及测试最新的Android 系统,加快第三方厂商的更新速度。
加快OEM厂商的update速度
platform_testing平台测试
prebuiltsx86和ARM架构下预编译的一些资源
sdksdk和模拟器
packages系统应用程序包
system底层文件系统库,应用和组件
toolchain工具链文件
tools工具文件
vendor包含不同供应商的私有的二进制库
makefile全局Makefile文件,用来定义编译规则

2.Bootable

文件夹名内容
libbootloader为boot引导系统启动
recovery恢复模式系统,系统升级等等

frameworks 应用框架层

应用框架层是系统的核心部分,向上提供接口给应用层调用,向下与c/c++程序库以及硬件抽象层衔接,其主要实现代码在frameworks/base 和 frameworks/av下

frameworks/base

文件夹名内容文件夹名内容
api定义apicmds重要命令:am\app_procee等
core核心库data字体和声音等文件
docs文档graphics与图形图像相关
include头文件keystore与数据签名证书相关
libslocation地理位置相关
media多媒体库native本地库
nfc-extras与NFC相关obex蓝牙传输
opengl2D/3D图形APIpackages设置TTS、VPN程序
saxxml解析器services系统服务
telephony电话通信管理test-runner测试工具相关
tests与测试相关tools工具
vr与VR相关wifiwifi无线网络

3.packages应用层部分

文件夹名内容
apps核心应用程序,例如:蓝牙、浏览器、相机、邮件、音乐、NFC
experimental第三方应用程序
inputmthods输入法目录
providers内容提供目录,例如:MediaProvider、DownloadProvider、MmsProvider
screensavers屏幕保护目录
services通信服务
wallpapers墙纸

4.C/C++程序库部分

系统运行库层native中C/C++程序库类型繁多,功能强大,他们并不完全在一个目录中,这里是几个C/C++的重要的程序库所在的目录位置

目录位置内容
bionicGoogle开发的系统C库,以BSD许可形式开源
frameworks/av/media系统媒体库
frameworks/native/opengl第三方图形渲染库
frameworks/native/serevices/surfaceflinger图形显示库,负责图形渲染、叠加、绘制等
external/sqlite轻量级关系型数据库SQLite的C++实现

5. out目录

5.1  .module_paths目录

在/build/soong/cmd/soong_ui/main.go中的main函数中调用build.FindSources(buildCtx, config, f)

在device、vendor、product目录中查找AndroidProducts.mk文件。并将所有的名为AndroidProducts.mk文件路径记录在AndroidProducts.mk.list中。这函数的作用不止如此,还会查找Android.mk、Android.bp、CleanSpec.mk等文件

5.Android架构层级和代码目录的大致对应关系

架构层级代码目录
Application层packages/apps/
Framework层framewordks/
Libraries层运行库libraries--bilnic/
Android Runtime  art/  dalvik/  libcore/
HAL层hardware/
Linux Kenelkernel/

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值