首页 > 其他分享 >aosp /system/core 目录下作用

aosp /system/core 目录下作用

时间:2024-03-09 17:47:44浏览次数:32  
标签:文件 功能 包含 core 系统 system aosp 用于 工具

system/core/

这个子目录比较重要,很多获取native系统级能力的库都在这个目录下,其中也包括一些native层的进程或服务。如fastboot、logd等。

 

|-- system Android系统设施
    |-- apex // Android Pony EXpress,Android 10引入的低级别组件格式
    |-- bpf // Berkeley Packet Filter
    |-- bpfprogs // bpf相关
    |-- bt // 蓝牙
    |-- ca-certificates // Certificate Authority
    |-- chre // Context Hub Runtime Environment
    |-- connectivity
        |-- wificond // wifi相关
    |-- core // 核心库

 

 

这些目录位于Android系统的 `/system/core` 路径下,每个目录都有自己的功能和作用,下面是对每个目录的简要解释:
1. **bootstat/**: 包含用于启动状态跟踪的工具和文件。这些工具可以用于记录系统启动时的各种指标和性能数据,以便分析系统启动过程。
2. **cli-test/**: 包含用于命令行测试的工具和文件。这些工具可以用于在命令行环境下测试系统的各种功能和组件。
3. **code_coverage/**: 包含用于代码覆盖率测试的工具和文件。这些工具可以用于分析代码的测试覆盖率,帮助开发人员确定哪些部分的代码需要进一步测试。
4. **debuggerd/**: 包含用于调试的工具和文件。这些工具可以用于捕获和分析系统的崩溃和错误信息,帮助开发人员诊断和修复软件问题。
5. **diagnose_usb/**: 包含用于USB诊断的工具和文件。这些工具可以用于检测和诊断与USB相关的问题,如USB设备连接问题或传输速度问题。
6. **fastboot/**: 包含用于fastboot模式的工具和文件。Fastboot是一种用于在启动时启动设备到特殊的启动模式,以便在计算机上执行各种操作的协议和工具。
7. **fs_mgr/**: 包含文件系统管理器(File System Manager)的相关文件。文件系统管理器负责管理和配置系统中的文件系统,包括挂载、格式化和检查文件系统。
8. **gatekeeperd/**: 包含Gatekeeper服务的相关文件。Gatekeeper是Android系统中用于处理生物特征识别(如指纹识别)的服务。
9. **healthd/**: 包含用于监控设备健康状态的工具和文件。这些工具可以用于监控设备的电池状态、温度和其他健康指标,并采取相应的措施以保护设备。
10. **include/**: 包含用于系统级别头文件的目录。这些头文件通常包含系统级别的API和定义,用于在开发中引用和使用。
11. **init/**: 包含系统初始化(init)进程的相关文件。系统初始化进程是Android系统中的第一个用户空间进程,负责启动和管理系统的其他进程。
12. **janitors/**: 包含一些辅助工具和文件,用于系统维护和清理。这些工具可能包括定期执行的清理任务或监控系统状态的工具。
13. **libappfuse/**: 包含AppFuse库的相关文件。AppFuse是用于模拟文件系统的库,通常用于运行应用程序时创建虚拟文件系统。
14. **libasyncio/**: 包含异步IO库的相关文件。异步IO库用于实现异步输入输出操作,提高系统的响应性能和并发能力。
15. **libcrypto_utils/**: 包含加密和安全相关的工具和文件。这些工具可以用于实现加密算法、数字签名和安全通信等功能。
16. 其余的目录类似,包含了各种系统组件、服务和工具的相关文件,用于实现系统的各种功能和特性。每个目录都有其特定的作用和功能,在Android系统中扮演着重要的角色。

当然,让我继续解释后面几个目录的作用:
17. **libcutils/**: 包含一些用于C语言编程的实用工具和函数库。这些工具和函数库提供了一些常用的功能,如内存管理、字符串操作、进程管理等,用于简化系统开发和编程。
18. **libgrallocusage/**: 包含用于图形缓冲区分配和使用的库文件。这些库文件提供了一些接口和函数,用于管理图形缓冲区的分配和使用,以支持图形显示和渲染功能。
19. **libkeyutils/**: 包含用于密钥管理的库文件。这些库文件提供了一些接口和函数,用于管理系统中的密钥和密码,以支持安全通信和数据加密功能。
20. **libmodprobe/**: 包含用于模块加载和管理的库文件。这些库文件提供了一些接口和函数,用于加载、卸载和管理内核模块,以支持系统的可扩展性和定制化功能。
21. **libnetutils/**: 包含用于网络通信和管理的库文件。这些库文件提供了一些接口和函数,用于管理网络连接、配置网络参数和进行网络通信,以支持系统的网络功能。
22. **libpackagelistparser/**: 包含用于解析软件包列表的库文件。这些库文件提供了一些接口和函数,用于解析系统中安装的软件包列表,以支持软件包管理和更新功能。
23. **libprocessgroup/**: 包含用于进程分组管理的库文件。这些库文件提供了一些接口和函数,用于管理和控制系统中的进程分组,以支持资源管理和调度功能。
24. **libsparse/**: 包含用于稀疏文件处理的库文件。这些库文件提供了一些接口和函数,用于处理稀疏文件格式,以支持系统的镜像文件生成和传输功能。
25. **libstats/**: 包含用于统计信息收集和处理的库文件。这些库文件提供了一些接口和函数,用于收集和分析系统的各种统计信息,以支持性能优化和故障诊断功能。
26. **libsuspend/**: 包含用于系统休眠和唤醒的库文件。这些库文件提供了一些接口和函数,用于控制系统的休眠和唤醒状态,以支持省电和节能功能。
27. **libsync/**: 包含用于同步操作的库文件。这些库文件提供了一些接口和函数,用于实现线程之间的同步和协调,以支持多线程编程和并发操作。
28. **libsystem/**: 包含系统级别的库文件。这些库文件提供了一些系统级别的接口和函数,用于实现系统的各种功能和特性,如进程管理、内存管理、文件系统管理等。
29. **libsysutils/**: 包含系统实用工具的库文件。这些库文件提供了一些实用工具和函数,用于辅助系统开发和调试,以支持系统的运行和维护。
30. **libusbhost/**: 包含用于USB主机模式的库文件。这些库文件提供了一些接口和函数,用于实现Android设备作为USB主机与外部设备进行通信和交互。
31. **libutils/**: 包含一些通用的实用工具和函数库。这些工具和函数库提供了一些通用的功能,如数据结构、线程管理、日志记录等,用于简化系统开发和编程。
32. **libvendorsupport/**: 包含供应商支持的库文件。这些库文件可能包含一些供应商特定的功能或优化,以支持特定硬件或设备的运行和使用。
33. **libvndksupport/**: 包含VNDK支持的库文件。VNDK(Vendor Native Development Kit)是用于支持供应商定制的本地开发工具包,这些库文件提供了一些供应商定制的本地功能和接口。
34. **llkd/**: 包含低级内核调试工具和文件。这些工具和文件用于在低级别对内核进行调试和分析,以帮助开发人员诊断和解决内核级别的问题。
35. **mini_keyctl/**: 包含用于密钥管理的迷你Keyctl工具和文件。这些工具和文件提供了一些简化的接口和函数,用于管理和操作系统中的密钥和密码。
36. **mkbootfs/**: 包含用于创建引导文件系统的工具和文件。这些工具和文件用于构建引导文件系统,以支持系统的引导和启动过程。
37. **property_service/**: 包含属性服务相关的文件。属性服务用于管理系统的属性和配置信息,这些属性和配置信息可以在系统运行时进行读取和修改,以控制系统的行为和功能。
38. **reboot/**: 包含用于系统重启的工具和文件。这些工具和文件用于执行系统的重启操作,以支持系统的重新启动和恢复功能。
39. **rootdir/**: 包含系统根目录相关的文件。这些文件用于定义系统的根目录结构和内容,包括系统配置文件、启动脚本和初始化文件等。
40. **run-as/**: 包含用于运行特定用户权限的工具和文件。这些工具和文件用于以指定用户的权限运行特定的命令或程序,以保护系统的安全性和稳定性。
41. **sdcard/**: 包含与SD卡相关的文件和工具。这些文件和工具用于管理和操作SD卡存储,包括文件系统操作、存储管理和数据传输等功能。
42. **shell_and_utilities/**: 包含一些用于Shell脚本和实用工具的文件。这些文件用于编写和运行Shell脚本,以及执行一些常用的实用工具和命令。
43. **storaged/**: 包含存储管理相关的文件和工具。这些文件和工具用于管理系统中的存储设备和存储资源,包括存储分区、存储格式化和存储监控等功能。
44. **toolbox/**: 包含用于通用工具的文件。这些文件用于实现各种通用的功能和工具,如文件操作、进程管理、网络操作等,以支持系统的各种功能和特性。
45. **trusty/**: 包含用于安全系统Trusty的相关文件。Trusty是一个安全执行环境,用于保护系统的敏感数据和操作,这些文件用于支持Trusty的运行和功能。
46. **usbd/**: 包含用于USB设备管理的文件和工具。这些文件和工具用于管理和操作USB设备,包括设备检测、设备驱动和设备通信等功能。
47. **watchdogd/**: 包含用于系统监控和保护的文件和工具。这些文件和工具用于监控系统的运行状态和健康状况,以及执行系统的自动恢复和保护操作。
每个目录都扮演着Android系统中不同的角色和功能,共同构成了系统的各种功能和特性。

 

参考:

https://blog.csdn.net/yinminsumeng/article/details/129137803

https://blog.csdn.net/iEearth/article/details/126706311

标签:文件,功能,包含,core,系统,system,aosp,用于,工具
From: https://www.cnblogs.com/hhdom/p/18063023

相关文章

  • .Net Core 的 using 作用
    //using的使用//1.引用命名空间usingnamespace//2.自动释放资源执行结束自动调用IDispose接口释放资源//using(varcontext=newtestController()){}//3.起一个别名//如果两个类中有一个相同的方法,使用别名的方式进行运行避免冲突//usings1=same1......
  • Memberinfo call generic method System.InvalidOperationException: 'Late bound op
    staticvoidMain(string[]args){GenericMethod();LogInfo();}staticvoidGenericMethod(){MethodInfomi=typeof(Program).GetMethod("Echo");Console.WriteLine(mi.IsGenericMethodDefinition);Console.WriteLine(mi.Invoke(......
  • EF Core 显示SQL语句
     1.使用Nuget引入如下两个包:Microsoft.Extensions.LoggingMicrosoft.Extensions.Logging.Console 2.在DbContext.cs中加入以下代码publicstaticreadonlyLoggerFactoryLoggerFactory=newLoggerFactory(new[]{newDebugLoggerProvider()});......
  • 设备监察系统(Facilities Monitoring System)详解
    设备监察系统(FacilitiesMonitoringSystem,简称FMS)是一个综合性的设施管理系统,主要用于监控、管理和优化各种设备、系统和设施的性能。这个系统可以应用于各种行业,如建筑、制造业、能源、交通等,以实现对设备、系统和设施的全面监控和管理。以下是FMS设备监察系统的详细解释:系统......
  • C++ Qt开发:QFileSystemWatcher文件监视组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemWatcher组件实现对文件或目录的监视功能。QFileSystemWatcher是Qt框架中......
  • 排查 dotNET Core 程序内存暴涨的问题
    0.问题新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示OOM异常,随后Pod直接崩溃无限重启。1.准备Pod已经接入了NewRelic和Graylog,但是仍然没有办法找到真正的罪魁祸手,此时只能进入Pod容器当中抓取内存Dump信息。我们容器的基础镜像是基于Apli......
  • .net core项目中访问特殊格式的文件(如.glb)
    背景:  最近在研究web3d,使用了three.js前端框架来实现的,前端显示的3D模型是由blender软件导出的.glb文件,我把.glb文件放在www.root中时,在前端调用时显示404。解决办法:  FileExtensionContentTypeProvider 类包含 Mappings 属性,用作文件扩展名到MIME内容类型的映射。 ......
  • 排查 dotNET Core 程序内存暴涨的问题
    0.问题新版本上线之后,发现内存猛涨,入站流量猛增,不清楚具体原因,部分接口提示OOM异常,随后Pod直接崩溃无限重启。1.准备Pod已经接入了NewRelic和Graylog,但是仍然没有办法找到真正的罪魁祸手,此时只能进入Pod容器当中抓取内存Dump信息。我们容器的基础镜像是基于Apli......
  • C++ Qt开发:QFileSystemModel文件管理组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemModel组件实现文件管理器功能。QFileSystemModel是Qt框架中的一个关键类,用于......
  • 将java项目打包部署在linux系统上(配置成systemd)
    我这里以ruoyi前后端分离的springboot项目为例打包部署1.前置条件1.0一些一些小问题#如果是阿里云或者腾讯云上面去开通安全组#默认防火墙是关闭的可以将防火墙打开sudosystemctlenablefirewalldsudosystemctlstartfirewalld#开放端口sudofirewall-cmd--zo......