安卓源码分析(一)目录说明

系统根目录说明

  • art 全新的ART运行环境
  • boinic 系统c库
  • bootable 启动引导相关代码
  • build 存放系统编译规则及generic等基础开发包配置
  • cts Android兼容性套件标准
  • dalvik Dalvik虚拟机
  • developers 开发者目录
  • development 与应用程序开发相关
  • device 设备相关配置
  • docs 参考文档目录
  • external 开发模组相关组件
  • frameworks 应用程序框架,Android系统核心部分,由Java和c++书写
  • hardware 主要是硬件抽象层代码
  • libcore 核心库相关文件
  • libnativehelper 动态库,实现JNI库的基础
  • out 编译完毕后代码在此输出
  • pdk Plug Development 的缩写,本地开发套件
  • platform testing 平台测试
  • prebuilts X86 ARM 架构下预编译的 些资源
  • sdk SDK 和模拟器
  • packages 应用程序包
  • system 底层文件系统库、应用和组件
  • toolchain 工具链文件
  • tools 工具文件
  • Makefile 全局Makefile,用来定义全局编译规则

应用层目录

应用层位于整个 Android 系统的最上层,开发者开发的应用程序以及系统内置的应用
程序都在应用层。源码根 目录中的 packages 目录对应着系统应用层

  • apps 核心应用库
  • inputmethods 输入法目录
  • providers 内容提供者目录
  • screensavers 屏幕保护
  • services 通信服务
  • wallpapers 墙纸

应用框架部分

应用框架层是系统的核心部分,一方面向上提供接口给应用层调用,另 方面向下与
C/c++程序库及硬件抽象层等进行衔接。应用框架层的主要实现代码在 frameworks/base
frameworks/av 目录下,其中 frameworks/base 目录如下

  • api 定义API
  • cmds 重要命令:am,app_proce等
  • core 核心库
  • data 字体和声音等数据文件
  • docs 文档
  • graphics 与图形图像相关
  • keystore 与数据签名相关
  • libs
  • location 地理位置相关库
  • media 多媒体相关库
  • native 本地库
  • nfc-extras 与NFC相关
  • obex 蓝牙传输
  • opengl 2D3D图形API
  • packages 设置,TTS,VPN程序
  • sax XML解析器
  • sevices 系统服务
  • telephony 电话通信管理
  • test-runner 测试工具相关
  • tests 与测试相关
  • tools 工具
  • wifi WiFi无线网络

C/C++程序部分

系统运行库层(Native )中的 IC++程序库的类型繁多, 功能强大, IC++程序库并不完
全在一个目录中,这里给出几个常用且 较重要的 CIC++程序库所在的目录位置

  • bionic Google开发的系统C库,以BSD形式许可开源
  • frameworks\av\media 系统媒体库
  • frameworks\native\opengl 第三方图形渲染库
  • frameworks\native\services\surfaceflinger 图形显示库,主要负责图形的渲染、叠加和绘制等功能
  • external\sqlite 轻量级数据库SQLite的C++实现

参考 刘望舒的《Android进阶解密》
(这本书是基于android8的,部分在11及以上目录做了部分修改,后续会补充)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值