系统根目录说明

  • 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及以上目录做了部分修改,后续会补充)

安卓源码分析(一)目录说明相关推荐

  1. 【SemiDrive源码分析】【X9芯片启动流程】08 - X9平台 lk 目录源码分析 之 目录介绍

    [SemiDrive源码分析][X9芯片启动流程]08 - X9平台 lk 目录源码分析 之 目录介绍 一./rtos/lk/ 目录结构分析 1.1 /rtos/lk_boot/ 目录结构分析 1.2 ...

  2. v65.05 鸿蒙内核源码分析(挂载目录) | 为何文件系统需要挂载 | 百篇博客分析OpenHarmony源码

    子曰:"君子成人之美,不成人之恶.小人反是." <论语>:颜渊篇 百篇博客系列篇.本篇为: v65.xx 鸿蒙内核源码分析(挂载目录篇) | 为何文件系统需要挂载 文件 ...

  3. C++Primer Plus (第六版)阅读笔记 + 源码分析【目录汇总】

    C++Primer Plus (第六版)阅读笔记 + 源码分析[第一章:预备知识] C++Primer Plus (第六版)阅读笔记 + 源码分析[第二章:开始学习C++] C++Primer Plu ...

  4. openstack nova 源码分析3-nova目录下的service.py

    nova下的service.py的源码,今天阅读之后 直接就把我理解的以注释的形式添加到了源码中,有些地方不好或者是错了,希望大家帮我指出! import inspect import os impo ...

  5. jQuery源码分析系列目录

    jQuery是对JavaScript的最佳实践的产物,这么好的东西阅读后一定会有感悟,还是要拿出来和大家分享滴,从今天开始阅读jQuery并将笔记进行记录,每天更新 1. 简便使用jQuery-源码阅 ...

  6. openstack nova 源码分析4-nova目录下的driver.py

    还是有许多地方可能错了 希望大婶们 看见 给予意见 ! 这个文件位于\nova\virt,是一个底层的driver.py,源代码如下(和以前一样添加了些注释,另外把我 觉得比较重要的computerD ...

  7. 【SemiDrive源码分析】【X9芯片启动流程】30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一)

    [SemiDrive源码分析][X9芯片启动流程]30 - AP1 Android Kernel 启动流程 start_kernel 函数详细分析(一) 一.Android Kernel 启动流程分析 ...

  8. Android屏幕刷新——源码分析

    Android屏幕刷新原理--源码分析 文章目录 Android屏幕刷新原理--源码分析 概述 VSync信号 三级缓冲 源码分析 消息队列的同步屏障 参考资料 概述 Android系统每16ms(一 ...

  9. 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

最新文章

  1. MVC3异常处理的方法
  2. ST-3806系列单圈编码器 测试说明
  3. Oracle四舍五入,向上取整,向下取整
  4. C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值
  5. LeetCode 27移除元素28实现strStr()29两数相除
  6. 8086中断系统——《x86汇编语言:从实模式到保护模式》读书笔记04
  7. 论文推荐 | 2019中国卫星导航年会论文集
  8. 2018蓝桥杯省赛---java---B---3(复数幂)
  9. ajax保存乱码,Ajax 乱码详细
  10. Linux下MongoDB安装和配置详解
  11. ​瑞幸员工如何作假22亿,怎样用技术防止财务造假?
  12. 【Android 逆向】Android 逆向通用工具开发 ( PC 端工具 hacktool 启动 main 函数分析 | hacktool 工程中的核心类 HackCommand 分析 )
  13. 中国北斗卫星导航系统
  14. 如何获取网页logo(favicon.ico)
  15. pycharm双击打不开,没有反应,下列方法亲测有用!
  16. 哀悼日,不发布文章(技术类)!为逝者哀悼!
  17. python 爬虫软件第一个程序
  18. springMVC + Dubbo + zooKeeper超详细 步骤
  19. FTP主动模式和被动模式图解
  20. 秒杀系统常用的削峰方法

热门文章

  1. 骑行318、 2016.7.16
  2. 迅雷云监工crysadm搭建
  3. ObjectScript 入门
  4. 安卓平台airtest使用纪录
  5. 线性回归、logistic回归、一般线性模型回归
  6. 学计算机去海关,霜刃初试显锋芒——一次难忘的海关计算机审计经历
  7. PHPCMS系统使用的弹出窗口插件artDialog
  8. 安装Mongodb 提示:找不到msvcp140.dll
  9. 思维导图在项目管理中的应用
  10. Knapsack Problem