Android 11 源码目录通读

.
├── art
│   ├── core
│   │   ├── compiler    # 编译器相关代码
│   │   ├── gc          # 垃圾收集器
│   │   ├── interpreter  # 解释器
│   │   ├── memory      # 内存管理
│   │   ├── runtime     # 运行时环境
│   │   └── ...          # 其他二级目录
│   ├── dex             # Dex文件处理
│   ├── libnativehelper  # C++与Dalvik/ART交互的库
│   ├── oat             # OAT文件生成和处理
│   ├── opt             # 优化相关的代码
│   ├── src             # 源代码
│   ├── test            # 测试用例
│   └── ...              # 更多二级目录
├── bionic
│   ├── libc
│   │   ├── arch-arm     # ARM架构的C库实现
│   │   ├── arch-x86     # x86架构的C库实现
│   │   └── ...          # 其他架构的实现
│   ├── libm            # 数学库
│   ├── libstdc++       # C++标准库
│   ├── libthread_db    # 调试线程库
│   └── ...              # 更多二级目录
├── bootable
│   ├── bootloader      # 启动加载器
│   ├── recovery        # 恢复系统
│   ├── radio           # 无线通信相关的固件和驱动
│   └── ...              # 更多二级目录
├── build
│   ├── generic         # 通用构建规则
│   ├── host            # 主机构建工具
│   ├── sdk             # SDK构建规则
│   └── ...              # 更多二级目录
├── cts
│   ├── tests           # 测试用例
│   └── ...              # 更多二级目录
├── dalvik
│   ├── dx              # Dex文件处理工具
│   └── ...              # 其他二级目录
├── development
│   ├── samples         # 示例代码
│   ├── ...              # 更多二级目录
├── external
│   ├── ffmpeg          # FFmpeg多媒体库
│   ├── sqlite          # SQLite数据库系统
│   └── ...              # 更多外部库
├── frameworks
│   ├── base
│   │   ├── java        # Java框架
│   │   ├── native      # 本地框架
│   │   ├── res         # 资源文件
│   │   └── ...          # 更多二级目录
│   ├── native          # 本地库
│   └── ...              # 更多二级目录
├── hardware
│   ├── legacy          # 传统硬件服务
│   ├── qcom            # Qualcomm硬件相关
│   ├── ...              # 更多二级目录
│   └── vendors         # 厂商特定硬件
├── out                 # 构建输出目录
├── packages
│   ├── apps            # 预装应用
│   ├── libraries       # 系统库
│   ├── tests           # 应用测试
│   └── ...              # 更多二级目录
├── prebuilts           # 预编译的库和工具
├── sdk                 # SDK相关代码
│   ├── add-ons         # SDK附加组件
│   ├── build-tools     # SDK构建工具
│   ├── platforms       # 不同版本的Android平台
│   └── ...              # 更多二级目录
├── system
│   ├── app             # 系统应用
│   ├── etc             # 配置文件
│   ├── lib             # 系统库
│   ├── priv-app        # 系统私有应用
│   ├── product          # 产品特定的系统文件
│   ├── vendor          # 与vendor分区相关的系统文件
│   └── ...              # 更多二级目录
├── vendor
│   ├── common          # 厂商共享的代码
│   ├── specific_vendor  # 特定厂商的代码
│   └── ...              # 更多二级目录
└── ...                 # 其他未列出的目录
 

art - 运行时环境

adbconnection

adb 连接

benchmark

性能基准测试

build

构建运行时所需要的配置

cmdline

操作虚拟机,传递给art的命令行工具

compiler

编译和优化Dex文件(Android应用的字节码格式)的相关工具和代码

dalvikvm

Dalvik虚拟机相关的历史代码,因为在某些早期版本中,ART与Dalvik共存或过渡

dex2oat

这是一个用于将Dex文件转换为OAT(Optimized Android bytecode)文件的工具。OAT文件包含了预先编译的机器码,可以直接由ART执行,从而提高了应用程序的启动速度和运行效率

dexdump

这个工具负责对Dex文件进行优化,如类初始化、数据布局优化等,但不如dex2oat全面。

dexlayout

重新排列Dex文件中的类和方法,以优化其在内存中的布局,从而提高运行时的性能,尤其是对于垃圾回收(GC)和内存访问效率

dexlist

用于列出Dex文件中所有类名的命令行工具。可以帮助开发者快速查看Dex文件的结构。

dexoptanalyzer

功能可能是对dexopt优化过程的输出进行分析。

disassembler

反汇编器是一种软件工具,它可以将机器代码转换回人类可读的汇编语言。

dt_fd_forward

dtfdforward是一个用于Java Debug Wire Protocol (JDWP)的传输库。

JDWP是Java虚拟机(JVM)调试的标准协议,用于远程调试Java应用。

imgdiag

imgdiag是一个用于诊断和分析Android系统映像(image)的工具。

libartbase

提供了许多基础服务和数据结构,用于支持ART运行时环境的正常工作。

libartimagevalues

Android系统映像(image)相关的常量、枚举和结构体。

libartpalette

可能是指一个用于颜色管理和色彩空间转换的库,与图像处理或图形渲染相关。

libdexfile

libdexfile库提供了读取、理解和操作Dex文件的接口和实现。

libelffile

被用于解析和操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值