android系统frameworks 和system目录简介

目录

frameworks目录详解

system 目录详解


frameworks目录详解

frameworks/ av audio/video, 如音视频解码器,录屏工具,摄像头框架相关的代码,多媒体框架供上层程序调用的java API。连接java和c/c++的jni部分,在framework/media下;
frameworks/av/camera libcamera_client共享库,是camera框架部分的client代码;
frameworks/av/cmds 包括录屏工具,stagefright进程
frameworks/av/media 提供音视频编解码的各种库和工具,后台进程如audioserver,mediaserver(通过binder进程间通信方式来完成其他进程(如音乐播放器)的请求)
frameworks/av/services 多媒体相关的后台服务,如cameraservice,audioflinger
frameworks/compile  包含 libbcc,mclinker(llvm 编译器的插件 ) slang(Renderscript 语言的编译器 ) 
frameworks/ex  Android 内部使用的公共类,如联系人、小部件、 io, 以及全新的相机框架 Camera2 的部分代码
frameworks/ hardware 描述传感器,虚拟现实VR camera等硬件的HIDL接口的文件.hal
frameworks/layoutlib 布局相关
frameworks/minikin Android 原生字体 连体字效果
frameworks/ml 机器视觉
frameworks/multidex 多dex加载器,大多数APP 解压其app后,一般只有一个classes.dex文件,采用MultiDex的App解压后可以看到有classes.dex,classes2.dex,....classes(n).dex
frameworks/native c/c++本地语音编写的相关工具源码和特定硬件控制的头文件,如bugreport,dumpstats,各种硬件访问权限的声明
frameworks/opt 一些UI插件和java后台服务 如 timezonepicker datetimepicker colorpicker , 网络服务,如EthernetService, WifiService, 电话服务 telephony
frameworks/rs 渲染脚本rendor script
frameworks/wilhelm  基于 Khronos OpenSL ES/OpenMAX AL audio/multimedia 实现
frameworks/base/ 应用框架层的主要核心代码
frameworks/base/api 主要是txt文件  声明了android应用框架层的类、属性和资源
frameworks/base/cmds 开机启动的进程代码和命令(脚本) 著名的zygote进程代码和启动动画代码就在此处
frameworks/base/core/java  android应用开发所依赖的各种包,四大组件代码就在此,如android/app/Activity.java android/app/Service.java android/content/ContentProvider.java /android/content/BroadcastReceiver.java
frameworks/base/core/jni 服务与android系统java核心代码所需要的jni 被编译成libandroid_runtime.so
frameworks/base/core/res 系统中所需要的各种资源 图片 字符串 尺寸 布局文件等
frameworks/base/data 系统默认的铃声,字体,根文件系统etc目录部分配置文件,触摸需要的kl kcm文件等
frameworks/base/drm  Digital Rights Management( 数字版权管理 ) ,应用根据与受版权保护的内容关联的许可限制来管理自己的内容,从而达到保护应用内容的知识产权。
frameworks/base/graphic  为应用提供的 android.graphics 包,提供基本的图形原语(如画点画线,设置图形上下文等)另外和图形相关的包:android.view 图形事件机制和 android.widget 包提供开发图形用户界面的控件
frameworks/base/keystore  提供 android.security.keystore , 应用可以通过 KeyStore API 生成密钥、使用密钥签名 , keystorek可以保护密钥材料免遭未经授权的使用.
frameworks/base/libs  大部分都是 c/c++ 代码,编译成 so , 如 Canvas drawing 操作转换为 OpenGL 的操作的 libhwui.so
frameworks/base/location 定位相关接口
frameworks/base/lowpan  提供 android.net.lowpan 报,提供基于 IPv6 的低速无线个域网的 API, lowpan 功能与 Zigbee 类似
frameworks/base/media  多媒体相关接口,被 App 调用的, 包含 MediaPlayer 代码
frameworks/base/native  部分硬件相关的 jni 库:如 sensor, net, 存储管理, 最后合并在 libandroid.so
frameworks/base/obex 蓝牙文件传输obex协议
frameworks/base/opengl  提供 android.opengl , 提供 android 2D/3D 图形处理各种 API
frameworks/base/packages  著名的 SystemUI ,彩蛋,锁屏, SettingProvider( 系统设置数据提供者 )
frameworks/base/rs  提供 android.renderscript 包, RenderScript Android 平台上的一种类 C 脚本语言,用于渲染绘
frameworks/base/services  android 开机启动的大部分后台服务,如 PMS, AMS, WMS
frameworks/base/tools 提供给应用开发的各种工具和脚本 如appt
frameworks/bae/wifi 提供android.net.wifi包 如wifi扫描,p2p hotspot2相关的API

system 目录详解

system/sepolicy 权限配置策略,可以配置某个进程可以访问那些文件。每个文件道理有那些权限。

system/libhidl 提供hidl相关的库。

system/libhwbinder

system/vold 完成自动挂载,Volume 守护进程,用来管理 Android 中存储类的热拔插事件,如设备增加,删除,修改等事件处理

system/netd 服务 跟网络相关的 比如网络状态 网络连接

system/core/init 祖先init进程

system/core/libutils pthread相关

system/core/adb   adb 进程

system/core/debuggerd 进程死掉了  打印

system/core/fastboot 现刷工具

system/core/lmkd low memry kill  低内存杀死 内存不足时候 会根据算法杀死服务进程

system/core/mkbootimg   生成bootimg工具

system/core/property_service 属性系统

system/core/rootdir dev  sys proc 目录来源 int.rc

system/core/toolbox  提供的一些命令的集合

system/core/qemu_pipe 完成host  gest 机的通信 模拟器和虚拟机用的比较多

system/hardware 网络相关的HIDL描述文件

system/hwservicemanager: HAL 服务管理中心,负责管理系统中的所有 HAL 服务,由 init 进程启动,属于 vendor的 binder 通信机制,类似 framework 中的 binder.

system/media  多媒体相关的

主要生成相关进程、动态和静态so、可执行程序、二进制工具。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值