对Andorid系统进行分析或者系统功能定制的时候,我们经常需要在众多文件中花费大量时间定位所需关注的部分。为了减轻这部分枯燥而不可避免的工作,本文对2.3.7版本的源码结构进行了简单分析。希望对刚加入安卓大军的朋友们有所帮助。

下图为2.3.7_r1版本的根目录结构:

Makefile (makefile文件)
bionic (bionic C库,C运行时支持:libc、libm、libdl、动态linker)
bootable (启动引导相关代码)
build (存放系统编译规则及generic等基础开发包配置)
cts (Android兼容性测试套件标准)
dalvik (dalvik JAVA虚拟机)
development (应用程序开发相关)
device (厂商设备的编译变量等)
external (android使用的一些开源的模组)
frameworks (核心框架——java及C++语言)
hardware  (主要是硬件适配层HAL代码)
libcore (核心库,支持dalvik)
ndk (本地代码的开发工具,用来包含应用程序的本地代码)
out (编译完成后的代码输出与此目录)
packages  (应用程序包)
prebuilt  (x86和arm架构下预编译的一些资源)
sdk  (sdk及模拟器)
system (文件系统库、应用及组件——C语言)
主要工程及描述:

bionic 目录

Libc (C库)

Libdl (dl是动态链接,提供访问动态链接库的功能)

Libm (m是数学,提供数学计算相关功能)

libstdc++ (标准 C++实现库)

libthread_db (线程调试库,gdb相关)

linker (动态链接器)

bootable 目录

Bootloader (适合各种bootloader的通用代码,部分函数实现及一些汇编文件)

Diskinstaller (android镜像打包器,x86可生产iso)

Recovery (系统恢复相关)

build目录

core (核心编译规则)

libs (主机端库,有android “cp”功能替换)

target (目标机编译对象:模拟器等)

tools (编译中主机使用的工具及脚本)

dalvik目录

dalvikvm (main.c的目录)

dexdump (dex反汇编)

dexlist (List all methods in all concrete classes in a DEX file.)

dexopt (预验证与优化)

docs (文档)

dvz (和zygote相关的一个命令)

dx (dx工具,将多个java转换为dex)

hit (猜测是堆栈内实例相关操作的实线)

libdex (dex的库)

libnativehelper (安卓本地帮助库)

tests (测试代码)

tools (工具)

vm (虚拟机实现)

development 目录

Apps (一些核心应用程序)

build  (编译脚本模板)

cmds (有个monkey工具)

data (配置数据)

docs (文档)

host (主机端USB驱动等)

ide (集成开发环境)

ndk (本地开发套件——c语言开发套件)

pdk (Plug Development Kit)

samples (示例)

scripts (脚本)

sdk (sdk配置)

sdk_overlay (输入法配置)

simulator  (模拟器)

testrunner  (测试用)

tools (一些工具)

tutorials (教程)

framework目录

base (核心框架库,多为java或c++)

ex (猜测是以前版本遗留的java类)

opt (可选部分:emoji工厂类)

hardware目录

broadcom (博通公司开源抽象层)

libhardware (硬件抽象层库)

libhardware_legacy(遗留的硬件抽象层库)

msm7k (高通7k处理器开源抽象层)

qcom (qcom公司开源抽象层)

ril (无线接口层(Radio Interface Layer))

ti (ti公司开源抽象层)

kernel目录

Linux内核,空

libcore目录

dalvik (dalvik支持)

dom (文件对象模型相关)

expectations (异常相关)

icu (jni的国际化组件的unicode支持)

include (一些头文件)

json (JavaScript对象符号相关)

junit (junit测试工具相关)

luni (猜测是一些java基本库的实现)

sqlite-jdbc (sqlite的java数据库联接实现)

support (一些测试)

xml (xml支持)

prebuilt目录

各主机的预编译头文件

system目录

bluetooth (蓝牙相关)

core (系统核心工具)

extras

(扩展工具)

media (媒体相关)

netd (网络相关)

vold (SD卡相关)

wlan (无线相关)

PS:.git文件夹内为repo或git工具使用的文件,并非是安卓项目所属。

参考资料:

http://wenku.baidu.com/view/7eb0cff69e314332396893c7.html

http://wenku.baidu.com/view/9e9e9f8b680203d8ce2f247e.html?from=rec&pos=0&weight=212&lastweight=108&count=5

Android2.3.7源码结构分析相关推荐

  1. (转)Android 源码结构分析

    Android 2.1 源码结构分析 Android 2.1总目录 |-- Makefile |-- bionic               (bionic C库) |-- bootable     ...

  2. QtCreator源码分析(三)——QtCreator源码结构分析

    一.QtCreator源码目录简介 QtCreator-2.8.1包含5000多个文件,代码行数超过了110万行. 源码目录如下: bin: 生成Linux平台shell脚本. dist: 安装文件配 ...

  3. LWIP源码结构分析

    LWIP(Light weight internet protocol)主要模块包括:配置模块,初始化模块,NetIf模块,mem(memp)模块,netarp模块,ip模块,udp模块,icmp模 ...

  4. android源码结构分析

    android各版本源码目录结构大同小异,build->core->version_defaults.md中找到PLATFORM_SDK_VERSION字段,PLATFORM_SDK_VE ...

  5. 鸿蒙源码图片,全网最全的鸿蒙源码结构分析(附自制4张架构图)

    前言:今天下午到晚上折腾了6个多小时,从官网一直到Gitee和CodeChina,把所有知道的资料都看了一下,整理了一份鸿蒙架构和源码对比图给大家,希望大家都来看看. 文章目录 O.视频观看地址: 一 ...

  6. Android 源码结构分析

    源码版本:AOSP_7.1.1 硬件平台:Rockchip 由于工作要求,需要对rockchip平台的安卓系统进行剪裁.安卓源码比较庞大,会让人感到无从下手,对此,有必要了解一下源码的大致目录结构以及 ...

  7. android 2.2 sdk 源码,Ubuntu 10.10 编译Android2.2(froyo)源码 sdk adt

    步骤参照: http://www.linuxidc.com/Linux/2011-03/32990.htm http://www.linuxidc.com/Linux/2011-03/32991.ht ...

  8. android7源码结构分析

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

  9. android 2.2下载地址,Windows下载android2.2完整源码

    前两天看到有人给我留言,才发现很久没写过东西了.不过,最近也没做什么东西.下载了一个cygwin,在Windows下载android完整代码. 这个项目的名字来源于:GNU.Cygnus.Window ...

最新文章

  1. 链表问题11——两个单链表相交的系列问题(二):找到两个无环链表的交点
  2. Struts 学习笔记1 -Struts Framework 概览
  3. 多元函数概念思维导图_高等数学 多元函数微分学 知识技巧思维导图 [21考研上岸之旅]...
  4. 鼠标事件onmouuse大全
  5. vue项目的一些需要注意到的细节
  6. RS 学习笔记 3-1
  7. 进入hbase命令_Zookeeper、Hbase安装部署
  8. (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用
  9. HEVC码率控制介绍(R-Lamda)
  10. 路径规划之空间采样算法研究现状简述
  11. 无意中最大的收获:《构建高性能Web站点》
  12. 随手记_C++常考面试题
  13. nginx负载均衡核心模块(upstream和proxy模块)及常用参数介绍
  14. 直流电机驱动c语言程序,单片机PWM控制直流电机驱动程序+仿真+报告
  15. 简洁的圆形时钟数字时钟+指针时钟(1+X Web前端开发初级 例题)
  16. crypto-js前端解密工具
  17. 11月14日:jquery
  18. Mixly第三方库开发
  19. 变量的作用域和生存期:_生存分析简介:
  20. 【工具介绍】fastcopy的下载与使用方法,可用于硬盘对拷

热门文章

  1. cad pu插件下载lisp_【技巧】cad计算面积、周长方法汇总
  2. 090_HTMLCollection和NodeList对象
  3. 005_CSS通配符选择器
  4. 语言专升本必背代码_2020年【山西省专升本】,专升本专业与考试科目,专升本招生院校,专升本报名流程大全!...
  5. php5.6 开二级域名,PHP二级域名session共享方案
  6. 细说 Lambda 表达式
  7. Photoshop CC2015软件安装资料及教程
  8. python 字典的值是列表_python实现求和python如何通过列表中字典的值对列表进行排序...
  9. ajax跨域请求原理,Ajax跨域请求的原理(图文教程)
  10. mac on linux,Mac- on- Linux