logo资料库

最全的Android源码目录结构详解.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
最全的 Android 源码目录结构详解 原创 2013 年 01 月 09 日 16:26:31 1490 android 平台四层架构对应源代码中的目录: 第一层:应用程序层(applications)对应根目录下 packages/apps 第二层:应用程序框架层(application framework)对应根目录下的 frameworks 第三层:运行库层包括运行库(libraries)和 android 运行时环境(android runtime) android 运行时环境: Core Libraries 对应根目录下的 libcore Dalvik Virtual Machine 对应根目录下的 dalvik 运行库 libraries : libc 对应根目录下的 bionic 其他的.......? 第四层:Linux 内核层对应根目录下的 kernel 三、四层中间还有个硬件抽象层(HAL)对应根目录下的 hardware (bionic C 库) (启动引导相关代码) (存放系统编译规则及 generic 等基础开发包配置) (Android 兼容性测试套件标准) (dalvik JAVA 虚拟机) 详细目录结构如下: |-- Makefile |-- bionic |-- bootable |-- build |-- cts |-- dalvik |-- development |-- external |-- frameworks |-- hardware |-- out |-- packages |-- prebuilt |-- sdk |-- system `-- vendor (应用程序开发相关) (android 使用的一些开源的模组) (核心框架——java 及 C++语言) (部分厂家开源的硬解适配层 HAL 代码) (编译完成后的代码输出与此目录) (应用程序包) (x86 和 arm 架构下预编译的一些资源) (sdk 及模拟器) (底层文件系统库、应用及组件——C 语言) (厂商定制代码) bionic 目录 |-- libc | | | | | | | | | |-- arch-arm |-- arch-x86 |-- bionic |-- docs |-- include |-- inet |-- kernel |-- netbsd |-- private (C 库) (ARM 架构,包含系统调用汇编实现) (x86 架构,包含系统调用汇编实现) (由 C 实现的功能,架构无关) (文档) (头文件) (?inet 相关,具体作用不明) (Linux 内核中的一些头文件) (?nesbsd 系统相关,具体作用不明) (?一些私有的头文件)
|-- stdio |-- stdlib |-- string |-- tools |-- tzcode |-- unistd `-- zoneinfo `-- include | | | | | | | |-- libdl |-- libm | | | | | | | | | | | | |-- libstdc++ | |-- include | `-- src |-- libthread_db | `-- linker `-- arch |-- alpha |-- amd64 |-- arm |-- bsdsrc |-- i386 |-- i387 |-- ia64 |-- include |-- man |-- powerpc |-- sparc64 `-- src (stdio 实现) (stdlib 实现) (string 函数实现) (几个工具) (时区相关代码) (unistd 实现) (时区信息) (libdl 实现,dl 是动态链接,提供访问动态链接库的功能) (libm 数学库的实现,) (apaha 架构) (amd64 架构) (arm 架构) (?bsd 的源码) (i386 架构) (i387 架构?) (ia64 架构) (头文件) (数学函数,后缀名为.3,一些为 freeBSD 的库文件) (powerpc 架构) (sparc64 架构) (源代码) (libstdc++ C++实现库) (头文件) (源码) (多线程程序的调试器库) (头文件) (动态链接器) (支持 arm 和 x86 两种架构) bootable 目录 . |-- bootloader | `-- legacy | | | | | | | |-- diskinstaller `-- recovery |-- edify |-- etc |-- arch_armv6 |-- arch_msm7k |-- include |-- libboot |-- libc |-- nandwrite `-- usbloader (适合各种 bootloader 的通用代码) (估计不能直接使用,可以参考) (V6 架构,几个简单的汇编文件) (高通 7k 处理器架构的几个基本驱动) (通用头文件和高通 7k 架构头文件) (启动库,都写得很简单) (一些常用的 c 函数) (nandwirte 函数实现) (usbloader 实现) (android 镜像打包器,x86 可生产 iso) (系统恢复相关) (升级脚本使用的 edify 脚本语言) (init.rc 恢复脚本)
|-- minui |-- minzip |-- mtdutils |-- res | |-- tools | `-- ota `-- images (一个简单的 UI) (一个简单的压缩工具) (mtd 工具) (资源) (一些图片) (工具) (OTA Over The Air Updates 升级工具) `-- updater (升级器) `-- host build 目录 . |-- core |-- history |-- libs | |-- target | | | | | | | `-- tools |-- board |-- emulator | |-- generic | |-- idea6410 | | `-- sim `-- product `-- security |-- acp |-- apicheck |-- applypatch |-- apriori |-- atree |-- bin2asm |-- check_prereq |-- dexpreopt |-- droiddoc |-- fs_config |-- fs_get_stats |-- iself |-- isprelinked |-- kcm |-- lsd |-- releasetools |-- rgb2565 |-- signapk |-- soslim (核心编译规则) (历史记录) (主机端库,有 android “cp”功能替换) (目标机编译对象) (开发平台) (模拟器) (通用) (自己添加的) (最简单) (开发平台对应的编译规则) (密钥相关) (编译中主机使用的工具及脚本) (Android "acp" Command) (api 检查工具) (补丁工具) (预链接工具) (tree 工具) (bin 转换为 asm 工具) (检查编译时间戳工具) (模拟器相关工具,具体功能不明) (?作用不明,java 语言,网上有人说和 JDK5 有关) (This program takes a list of files and directories) (获取文件系统状态) (判断是否 ELF 格式) (判断是否 prelinked) (按键相关) (List symbol dependencies) (生成镜像的工具及脚本) (rgb 转换为 565) (apk 签名工具) (strip 工具) `-- zipalign (zip archive alignment tool)
dalvik 目录 dalvik 虚拟机 . |-- dalvikvm |-- dexdump |-- dexlist |-- dexopt |-- docs |-- dvz |-- dx |-- hit |-- libcore |-- libcore-disabled |-- libdex |-- libnativehelper |-- tests |-- tools `-- vm (main.c 的目录) (dex 反汇编) (List all methods in all concrete classes in a DEX file.) (预验证与优化) (文档) (和 zygote 相关的一个命令) (dx 工具,将多个 java 转换为 dex) (?java 语言写成) (核心库) (?禁用的库) (dex 的库) (Support functions for Android's class libraries) (测试代码) (工具) (虚拟机实现) (开发者需要的一些例程及工具) (一些核心应用程序) |-- BluetoothDebug |-- CustomLocale |-- Development |-- Fallback |-- FontLab |-- GestureBuilder |-- NinePatchLab |-- OBJViewer |-- SdkSetup |-- SpareParts |-- Term `-- launchperf development 目录 |-- apps | | | | | | | | | | | | |-- build |-- cmds |-- data |-- docs |-- host |-- ide |-- ndk |-- pdk |-- samples | | |-- AliasActivity |-- ApiDemos (蓝牙调试程序) (自定义区域设置) (开发) (和语言相关的一个程序) (字库) (手势动作) (?) (OBJ 查看器) (SDK 安装器) (高级设置) (远程登录) (?) (编译脚本模板) (有个 monkey 工具) (配置数据) (文档) (主机端 USB 驱动等) (集成开发环境) (本地开发套件——c 语言开发套件) (Plug Development Kit) (例程) (?) (API 演示程序)
(指南针) (联系人管理器) (动态壁纸的一个简单例程) (Home) (jetBoy 游戏) (貌似又是一个游戏) (邮件同步) (多分辨率) (像是布局) (全球时间) (蓝牙聊天) (浏览器插件) (商业卡) (Hello) |-- BluetoothChat |-- BrowserPlugin |-- BusinessCard |-- Compass |-- ContactManager |-- CubeLiveWallpaper |-- FixedGridLayout |-- GlobalTime |-- HelloActivity |-- Home |-- JetBoy |-- LunarLander |-- MailSync |-- MultiResolution |-- MySampleRss |-- NotePad |-- RSSReader |-- SearchableDictionary |-- SimpleJNI |-- SkeletonApp |-- Snake |-- SoftKeyboard |-- Wiktionary (?维基) `-- WiktionarySimple(?维基例程) | | | | | | | | | | | | | | | | | | | | | | | | |-- scripts |-- sdk |-- simulator |-- testrunner `-- tools (RSS) (记事本) (空壳 APP) (RSS 阅读器) (目录搜索) (JNI 例程) (snake 程序) (软键盘) (脚本) (sdk 配置) (?模拟器) (?测试用) (一些工具) external 目录 . |-- aes |-- apache-http |-- astl STL.) |-- bison |-- blktrace |-- bluetooth |-- bsdiff |-- bzip2 |-- clearsilver |-- dbus |-- dhcpcd (AES 加密) (网页服务器) (ASTL (Android STL) is a slimmed-down version of the regular C++ (自动生成语法分析器,将无关文法转换成 C、C++) (blktrace is a block layer IO tracing mechanism) (蓝牙相关、协议栈) (diff 工具) (压缩工具) (html 模板系统) (低延时、低开销、高可用性的 IPC 机制) (DHCP 服务)
|-- dosfstools |-- dropbear |-- e2fsprogs |-- elfcopy |-- elfutils |-- embunit |-- emma |-- esd |-- expat |-- fdlibm |-- freetype |-- fsck_msdos |-- gdata |-- genext2fs |-- giflib |-- googleclient |-- grub |-- gtest |-- icu4c |-- ipsec-tools |-- iptables |-- jdiff public Java APIs.) |-- jhead |-- jpeg |-- junit |-- kernel-headers |-- libffi |-- libpcap |-- libpng |-- libxml2 |-- mtpd |-- netcat connections) |-- netperf |-- neven |-- opencore |-- openssl |-- openvpn |-- oprofile |-- ping |-- ppp |-- proguard |-- protobuf (DOS 文件系统工具) (SSH2 的 server) (EXT2 文件系统工具) (复制 ELF 的工具) (ELF 工具) (Embedded Unit Project) (java 代码覆盖率统计工具) (Enlightened Sound Daemon,将多种音频流混合在一个设备上播放) (Expat is a stream-oriented XML parser.) (FDLIBM (Freely Distributable LIBM)) (字体) (dos 文件系统检查工具) (google 的无线数据相关) (genext2fs generates an ext2 filesystem as a normal (non-root) user) (gif 库) (google 用户库) (This is GNU GRUB, the GRand Unified Bootloader.) (Google C++ Testing Framework) (ICU(International Component for Unicode)在 C/C++下的版本) (This package provides a way to use the native IPsec functionality ) (防火墙) ( generate a report describing the difference between two (jpeg 头部信息工具) (jpeg 库) (JUnit 是一个 Java 语言的单元测试框架) (内核的一些头文件) (libffi is a foreign function interface library.) (网络数据包捕获函数) (png 库) (xml 解析库) (一个命令) (simple Unix utility which reads and writes dataacross network (网络性能测量工具) (看代码和 JNI 相关) (多媒体框架) (SSL 加密相关) (VPN 开源库) (OProfile 是 Linux 内核支持的一种性能分析机制。) (ping 命令) (pppd 拨号命令,好像还没有 chat) (Java class file shrinker, optimizer, obfuscator, and preverifier) (a flexible, efficient, automated mechanism for serializing structured
data) |-- qemu |-- safe-iop |-- skia |-- sonivox |-- speex |-- sqlite |-- srec |-- strace |-- svox |-- tagsoup |-- tcpdump |-- tesseract |-- tinyxml |-- tremor library) |-- webkit |-- wpa_supplicant |-- xmlwriter |-- yaffs2 `-- zlib frameworks 目录 . |-- base | |-- api |-- awt | |-- build | |-- camera | | |-- cmds |-- core | |-- data | | |-- docs |-- graphics | |-- include | | |-- keystore |-- libs | |-- location | | |-- media |-- obex | |-- opengl | | |-- packages |-- sax | | |-- services (arm 模拟器) (functions for performing safe integer operations ) (skia 图形引擎) (sole MIDI solution for Google Android Mobile Phone Platform) (Speex 编/解码 API 的使用(libspeex)) (数据库) (Nuance 公司提供的开源连续非特定人语音识别) (trace 工具) (Embedded Text-to-Speech) (TagSoup 是一个 Java 开发符合 SAX 的 HTML 解析器) (抓 TCP 包的软件) (Tesseract Open Source OCR Engine.) (TinyXml is a simple, small, C++ XML parser) (I stream and file decoder provides an embeddable,integer-only (浏览器核心) (无线网卡管理) (XML 编辑工具) (yaffs 文件系统) (a general purpose data compression library) (核心框架——java 及 C++语言) (基本内容) (?都是 xml 文件,定义了 java 的 api?) (AWT 库) (空的) (摄像头服务程序库) (重要命令:am、app_proce 等) (核心库) (字体和声音等数据文件) (文档) (图形相关) (头文件) (和数据签名证书相关) (库) (地区库) (媒体相关库) (蓝牙传输库) (2D-3D 加速库) (设置、TTS、VPN 程序) (XML 解析器) (各种服务程序)
(电话通讯管理) (测试工具相关) (各种测试) (一些叫不上名的工具) (VPN) (无线网络) (可选部分) |-- telephony |-- test-runner |-- tests |-- tools |-- vpn `-- wifi | | | | | | |-- opt |-- com.google.android | |-- com.google.android.googlelogin | `-- emoji | `-- policies `-- base |-- mid `-- phone (MID 设备) (有个 framework.jar) (有个 client.jar) (standard message elements) (Product policies are operating system directions aimed at specific uses) (手机类设备,一般用这个) `-- wlan |-- gralloc `-- overlay hardware 目录 |-- broadcom | |-- libhardware | |-- include | `-- modules | | |-- libhardware_legacy |-- flashlight | |-- gps | |-- include | |-- mount | |-- power | |-- qemu | |-- qemu_tracing | |-- tests | |-- uevent | |-- vibrator | | `-- wifi |-- msm7k |-- boot | |-- libaudio | | |-- libaudio-qsd8k |-- libcamera | |-- libcopybit | | |-- libgralloc |-- libgralloc-qsd8k | | |-- liblights (部分厂家开源的硬解适配层 HAL 代码) (博通公司) (无线网卡) (硬件库) (头文件) (Default (and possibly architecture dependents) HAL modules) (gralloc 显示相关) (Skeleton for the "overlay" HAL module.) (旧的硬件库) (背光) (GPS) (头文件) (旧的挂载器) (电源) (模拟器) (模拟器跟踪) (测试) (uevent) (震动) (无线) (高通 7k 处理器开源抽象层) (启动) (声音库) (qsd8k 的声音相关库) (摄像头库) (copybit 库) (gralloc 库) (qsd8k 的 gralloc 库) (背光库)
分享到:
收藏