Android系统源码目录分析

基于Android8.0源码进行分析 

 系统根目录结构说明 

art:全新的art运行环境

bionic:系统C库

bootable:启动引导相关代码

build:存放系统编译规则及generic等基础开发包配置

cts:Android兼容性测试套件标准

dalvik:dalvik虚拟机

developers:开发者目录

development:与应用程序开发相关

device: 设备参数相关配置

doce:参考文档

external: 开源模组相关文件
frameworks:应用程序框架,Android系统核心部分,java和c++编写

hardware:硬件抽象层的代码

libcore:核心库相关文件

libnativehelper:动态库实现JNI库的基础

pdk:本地开发者套件

platform_testing:平台测试

prebuilts :x86和ARM架构下预编译的一些资源

sdk:sdk和模拟器

packages:应用程序包
system:底层文件系统库 应用和组件

toolchain:工具链文件

tools:工具文件

makefile 全局makefile文件,用来定义编译规则

应用层部分

应用层源码根目录对象的是packages目录 下面分析packages的目录结构

apps:核心应用程序

experimental:第三方应用程序

inputmethods:输入法目录

providers:内容提供者目录

screensavers:屏幕保护

services:通信服务

wallpapers:墙纸相关   

应用框架层部分

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

C/C++程序库部分  

系统运行库层(native)中的c/c++程序库的类型比较多,并且不是在一个目录中的 这会统计比较重要的程序库的位置 
 

bionic  :google开发的系统C库,以BSD许可形式开源

frameworks/av/media :系统媒体库

frameworks/native/opengl :第三方图形渲染库

frameworks/native/services/surfaceflinger :图形显示库 主要负责图形的渲染 ,叠加和绘制功能
external/sqlie :轻量级的关系型数据库

 

发布了8 篇原创文章 · 获赞 3 · 访问量 946

猜你喜欢

转载自blog.csdn.net/flying0916/article/details/104058757