Android 8源码目录结构详解

本文详细探讨了Android源码的目录结构,涵盖了从Art到Bionic,再到Bootable和System等多个核心组件。深入讲解了Android的运行时环境、编译工具、系统服务、硬件抽象层以及开发工具等,揭示了Android系统的内部工作机制。
摘要由CSDN通过智能技术生成

   |-  art // Android Runtime,一种App运行模式,区别于传统的Dalvik虚拟机,旨在提高Android系统的流畅性,包括以下目录           

    |-  benchmark // 程序测试基准。        
    |-  build // 编译文件。      
    |-  cmdline // 命令行工具的初始化与解析。        
    |-  compiler // 编译套件。       
    |-  dalvikvm // Dalvik虚拟机启动程序。      
    |-  dex2oat // 文件dex格式转换为oat格式的转换程序。        
    |-  dexdump // 文件dex格式的内容获取程序。      
    |-  dexlayout // 文件dex格式的布局。        
    |-  dexlist // 文件dex格式的函数获取程序。
    |-  dexoptanalyzer //文件dex格式的分析程序      
    |-  disassembler // 几种反汇编实现,包括arm64、arm、mips和x86。       
    |-  imgdiag // image诊断程序。       
    |-  libart_fake // 一个虚假的art库,用于那些企图链接ark库的作弊程序。     
    |-  oatdump // 文件oat格式的内容获取程序。      
    |-  patchoat // 文件oat格式的补丁管理程序。     
    |-  profman // 程序性能分析助手。        
    |-  runtime // art库实现,主要为C++和汇编文件。      
    |-  sigchainlib // 信号处理库。       
    |-  test // 测试程序。       
    |-  tools // 一些工具,包括python和shell脚本。     
|-  bionic // 基础C库源代码,Android改造的C/C++库       
    |-  benchmarks // 程序测试基准。       
    |-  build // 编译文件。      
    |-  libc // C库
|-  arch-arm // ARM架构,包含系统调用汇编实现
|-  arch-arm64 // ARM64架构,包含系统调用汇编实现
|-  arch-common // 通用架构,包含系统调用汇编实现
|-  arch-mips // mips架构,包含系统调用汇编实现
|-  arch-mips64 // mips64架构,包含系统调用汇编实现
|-  arch-x86 // x86架构,包含系统调用汇编实现
|-  arch-x86_64 // x64架构,包含系统调用汇编实现
|-  bionic // 由C实现的功能,架构无关
|-  dns // bionic改造的dns服务
|-  include // 头文件
|-  kernel // Linux内核中的一些头文件
|-  malloc_debug // bionic的动态调整内存工具
|-  private // 一些私有的头文件
|-  seccomp // Seccomp(secure computing)是Linux kernel 所支持的一种简洁的sandboxing机制。它能使一个进程进入到一种“安全”运行模式,该模式下的进程只能调用4种系统调用(system calls),即read(), write(), exit()和sigreturn(),否则进程便会被终止。
|-  stdio // 标准io流实现
|-  stdlib // 标准lib库实现
|-  tools // 几个工具
|-  tzcode // 时区相关代码
|-  upstream-freebsd // 上传流freebsd的库
|-  upstream-netbsd // 上传流netbsd的库
|-  upstream-openbsd // 上传流openbsd的库
|-  versioner-dependencies // 系统信息检测依赖库
|-  zoneinfo // 时区信息
|-  libdl // libdl实现,dl是动态链接,提供访问动态链接库的功能     
|-  libm // libm数学库的实现
|-  arm // arm架构库
|-  arm64 // arm64架构库
|-  i387 // i387架构库
|-  mips // mips架构库
|-  upstream-freebsd // 上传流freebsd架构库
|-  upstream-netbsd // 上传流netbsd架构库
|-  x86 // x86架构库
|-  x86_64 // x86_64架构库            
    |-  libstdc++ // libstdc++ C++实现库      
    |-  linker // 动态链接器。        
    |-  tests // 测试程序。      
    |-  tools // 一些工具,包括python和shell脚本。     
|-  bootable // Android程序启动导引,适合各种bootloader的通用代码,包括一个recovery目录。           
    |-  recovery // 系统还原。
|-  applypatch // 应用补丁的应用
|-  bootloader_message // bootloader消息显示应用
|-  edify // 升级脚本使用的edify脚本语言
|-  etc // 配置文件
|-  fonts // recovery的字体
|-  minadbd // recovery的迷你版的adbd
|-  minui // recovery的UI
|-  otafault // OTA Over The Air Updates升级工具
|-  otautil // OTA Over The Air Updates升级工具类
|-  private // 私有头文件
|-  res-560dpi // ui资源文件
|-  res-hdpi // ui资源文件
|-  res-mdpi // ui资源文件
|-  res-xhdpi // ui资源文件
|-  res-xxhdpi // ui资源文件
|-  res-xxxhdpi // ui资源文件
|-  tests // 测试文件
|-  tools // 一些工具类
|-  uncrypt // 加密工具
|-  update_verifier // 升级器验证
|-  updater // 升级器       
|-  build // Android编译系统,包括原有的GNU make/mk和新加入的go/bp,包括以下几个目录。           
    |-  blueprint // 编译系统组件,由go实现,用于读取类json格式的bp文件,转换成Ninja格式。
    |-  core // 核心组件的编译规则配置文件
    |-  envsetup.sh //  编译环境的设置脚本    
    |-  kati // 编译系统组件,用于兼容原有的GNU make/mk,对mk文件进行格式转换。      
    |-  make // 原有的编译系统实现,包括makefile、python、shell等。     
    |-  soong // 编译系统组件,同样是辅助生成Ninja格式的文件。
    |-  target // 目标机编译对象
|-  board // 开发平台
|-  generic // 通用
|-  generic_arm64 // arm64配置
|-  generic_arm64_a // arm64_a配置
|-  generic_arm64_ab // arm64_ab配置
|-  generic_arm_a // arm_a配置
|-  generic_armv5 // armv5配置
|-  generic_mips // mips配置
|-  generic_mips64 // mips64配置
|-  generic_x86 // x86配置
|-  generic_x86_64 // x86_64配置
|-  generic_x86_arm // x86_arm配置
|-  product // 开发平台对应的编译规则
    |-  tools // 编译中主机使用的工具及脚本
|-  acp // Android "acp" Command
|-  adbs //  adb检查工具
|-  apicheck // api检查工具
|-  atree // tree工具
|-  droiddoc // 作用不明,java语言,网上有人说和JDK5有关
|-  fs_config // This program takes a list of files and directories
|-  fs_get_stats // 获取文件系统状态
|-  ijar // jar包工具
|-  libhost // libhost工具库
|-  makeparallel // gnu链接工具
|-  releasetools // release工具
|-  signapk // apk签名工具
|-  signtos // 标签工具
|-  zipalign // zip压缩工具 
|-  ziptime // zip archive alignment tool
|-  cts // Android兼容性测试套件标准         
    |-  apps // cts测试所使用的apk源码        
    |-  build // cts套件的编译配置        
    |-  common // cts套件的通用代码
    |-  development // cts套件兼容之前使用eclipse ADT开发apk的脚本     
    |-  hostsidetests // cts套件新增host测试项      
    |-  libs // cts套件使用的第三方库        
    |-  suite // cts套件       
    |-  tests // cts套件进行的测试项        
    |-  tools // cts套件使用的测试工具源码      
|-  dalvik // Android Dalvik虚拟机相关内容         
    |-  dexdump // dex反汇编    
    |-  dexgen // 使用gradle工具编译dex文件的解析工具      
    |-  docs // Dalvik虚拟机文档        
    |-  dx // dx工具,将多个java转换为dex      
    |-  libdex // dex的库      
    |-  opcode-gen // gen的源代码
    |-  tools // Dalvik虚拟机工具代码       
|-  developers // Android开发者参考文档,包括以下几个目录。          
    |-  build // gradle编译系统。        
    |-  demos // 使用了gradle的例子。      
    |-  samples // Android SDK中的例子。     
|-  development // Android开发基础设施,包括以下几个目录。          
    |-  apps // 谷歌提供的一些核心应用程序
        |-  BluetoothDebug // 蓝牙调试程序
        |-  BuildWidget // 小部件搭建
        |-  CustomLocale // 自定义区域设置
        |-  Development // 开发
        |-  DevelopmentSettings // 开发设置
        |-  Fallback // 回调
        |-  GestureBuilder // 手势动作
        |-  launchperf  // 性能测试
        |-  NinePatchLab // 点九图片相关
        |-  OBJViewer // OBJ查看器
        |-  PushApiAuthenticator // PushApi验证
        |-  PushApiTestAppOne // PushApi测试apk
        |-  PushApiTestAppTwo // PushApi测试apk
        |-  SdkSetup // SDK安装器
        |-  SettingInjectorSample // 高级设置
        |-  WidgetPreview // 预览小部件          
    |-  build // 编译文件,包括打包用的atree文件。        
    |-  cmds // 工具monkey。       
    |-  docs // 说明文档。       
    |-  host // 主机端USB驱动        
    |-  ide // 集成开发环境,包括eclipse、emacs和intellij。        
    |-  libraries // lib库。      
    |-  ndk // 本地开发套件——c语言开发套件      
    |-  python-packages // python工具包,包括adb、fastboot和gdbrunner。      
    |-  samples // 示例代码。
        |-  AccelerometerPlay // 展示加速计用法App
        |-  AdaptiveIconSample // 自适应图标App
        |-  Alarm // 紧急报警App
        |-  AliasActivity // 应用程序命别名App
        |-  AndroidBeamDemo // Android光束示例App
        |-  ApiDemosAPI // 演示程序
        |-  AppNavigation // 导航 
        |-  BackupRestore // 备份 
        |-  BasicGLSurfaceView // 基础GL界面展示
        |-  BluetoothChat // 蓝牙聊天
        |-  BluetoothHDP // 蓝牙传输
        |-  BluetoothLeGatt // 蓝牙4.0模块
        |-  BrokenKeyDerivation // 
        |-  browseable // 浏览
        |-  BusinessCard // 车卡
        |-  Compass // 指南针
        |-  ContactManager // 联系人管理器
        |-  ControllerSample // 管理员示例
        |-  CrossCompatibility // 跨平台兼容
        |-  CubeLiveWallpaper // 动态壁纸的一个简单例程
        |-  DataWiper // 数据擦除
        |-  devbytes // 二进制读取
        |-  FixedGridLayout // 自动布局
        |-  HeavyWeight // 超重
        |-  HelloActivity // Hello
        |-  HelloEffects // Hello接收 
        |-  Home // 家
        |-  HoneycombGallery // 动态图
        |-  JetBoy // jetBoy游戏
        |-  KeyChainDemo // 密码管理
        |-  LceDemo // 天线设备参数示例 
        |-  LunarLander // LunarLander游戏
        |-  MultiResolution // 多任务处理应用
        |-  MultiWindow // 分屏应用
        |-  MySampleRss  // RSS
        |-  NotePad  // 记事本
        |-  Obb  // 安卓游戏通用数据包示例
        |-  OpenGL  // 图像库示例
        |-  RandomMusicPlayer // 音乐播放器
        |-  ReceiveShareDemo // 接收分享示例
        |-  RenderScript // 提升轮廓提取速度示例
        |-  RSSReader // RSS阅读器
        |-  samples_source.prop_template // 
        |-  SampleSyncAdapter // 更新接口
        |-  SearchableDictionary // 目录搜索
        |-  ShortcutDemo // 小图标
        |-  ShortcutSample // 小图标示例
        |-  SimpleJNI // JNI例程
        |-  SipDemo // 支持会话发起协议(SIP)应用示例
        |-  SkeletonApp // 空壳APP
        |-  Snake // snake程序
        |-  SoftKeyboard // 软键盘
        |-  SpellChecker // 拼写检查
        |-  Spinner // Spinner控件
        |-  SpinnerTest // Spinner控件测试
        |-  StackWidget // 小部件堆叠示例
        |-  TicTacToeLib // 多库示例
        |-  TicTacToeMain // 主库示例
        |-  ToyVpn // vpn示例
        |-  training // 训练
        |-  TtsEngine // 文字语音转换(TTS)引擎
        |-  UiAutomator // ui自动测试
        |-  USB // u

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值