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

转自http://www.5adev.com/a/android/2010/0622/67.html

 Android 2.1
|-- Makefile
|-- bionic                        
bionic C库)
|-- bootable               
(启动引导相关代码)
|-- build                        
(存放系统编译规则及generic等基础开发包配置)
|-- cts                        
Android兼容性测试套件标准)
|-- dalvik                        
dalvik JAVA虚拟机)
|-- development        
(应用程序开发相关)
|-- external               
android使用的一些开源的模组)
|-- frameworks               
(核心框架——javaC++语言)
|-- hardware               
(部分厂家开源的硬解适配层HAL代码)
|-- out                        
(编译完成后的代码输出与此目录)
|-- packages               
(应用程序包)
|-- prebuilt               
x86arm架构下预编译的一些资源)
|-- sdk                        
sdk及模拟器)
|-- system                        
(底层文件系统库、应用及组件——C语言)
`-- vendor               
(厂商定制代码)

bionic
目录
|-- libc                        
C库)
|   |-- arch-arm        
ARM架构,包含系统调用汇编实现)
|   |-- arch-x86        
x86架构,包含系统调用汇编实现)
|   |-- bionic               
(由C实现的功能,架构无关)
|   |-- docs               
(文档)
|   |-- include               
(头文件)
|   |-- inet               
(?inet相关,具体作用不明)
|   |-- kernel               
Linux内核中的一些头文件)
|   |-- netbsd               
(?nesbsd系统相关,具体作用不明)
|   |-- private               
(?一些私有的头文件)
|   |-- stdio               
stdio实现)
|   |-- stdlib               
stdlib实现)
|   |-- string               
string函数实现)
|   |-- tools               
(几个工具)
|   |-- tzcode               
(时区相关代码)
|   |-- unistd               
unistd实现)
|   `-- zoneinfo        
(时区信息)
|-- libdl                        
libdl实现,dl是动态链接,提供访问动态链接库的功能)
|-- libm                        
libm数学库的实现,)
|   |-- alpha               
apaha架构)
|   |-- amd64               
amd64架构)
|   |-- arm               
arm架构)
|   |-- bsdsrc               
(?bsd的源码)
|   |-- i386               
i386架构)
|   |-- i387               
i387架构?)
|   |-- ia64               
ia64架构)
|   |-- include               
(头文件)
|   |-- man               
(数学函数,后缀名为.3,一些为freeBSD的库文件)
|   |-- powerpc        
powerpc架构)
|   |-- sparc64               
sparc64架构)
|   `-- src               
(源代码)
|-- libstdc++               
libstdc++ C++实现库)
|   |-- include               
(头文件)
|   `-- src               
(源码)
|-- libthread_db        
(多线程程序的调试器库)
|   `-- include               
(头文件)
`-- linker                        
(动态链接器)
`-- arch               
(支持armx86两种架构)

bootable
目录
.
|-- bootloader                                
(适合各种bootloader的通用代码)
|   `-- legacy                                
(估计不能直接使用,可以参考)
|       |-- arch_armv6               
V6架构,几个简单的汇编文件)
|       |-- arch_msm7k               
(高通7k处理器架构的几个基本驱动)
|       |-- include                        
(通用头文件和高通7k架构头文件)
|       |-- libboot                        
(启动库,都写得很简单)
|       |-- libc                        
(一些常用的c函数)
|       |-- nandwrite               
nandwirte函数实现)
|       `-- usbloader               
usbloader实现)
|-- diskinstaller                        
android镜像打包器,x86可生产iso
`-- recovery                                
(系统恢复相关)
    |-- edify                                
(升级脚本使用的edify脚本语言)
    |-- etc                                
init.rc恢复脚本)
    |-- minui                                
(一个简单的UI
    |-- minzip                                
(一个简单的压缩工具)
    |-- mtdutils                        
mtd工具)
    |-- res                                
(资源)
    |   `-- images                        
(一些图片)
    |-- tools                                
(工具)
    |   `-- ota                        
OTA Over The Air Updates升级工具)
`-- updater                        
(升级器)

build
目录
.
|-- core                                
(核心编译规则)
|-- history                                
(历史记录)
|-- libs                                
|   `-- host                        
(主机端库,有android “cp”功能替换)
|-- target                                
(目标机编译对象)
|   |-- board                        
(开发平台)
|   |   |-- emulator        
(模拟器)
|   |   |-- generic               
(通用)
|   |   |-- idea6410        
(自己添加的)
|   |   `-- sim               
(最简单)
|   `-- product               
(开发平台对应的编译规则)
|       `-- security        
(密钥相关)
`-- tools                                
(编译中主机使用的工具及脚本)
    |-- acp                        
Android "acp" Command
    |-- apicheck               
api检查工具)
    |-- applypatch               
(补丁工具)
    |-- apriori                        
(预链接工具)
    |-- atree                        
tree工具)
    |-- bin2asm               
bin转换为asm工具)
    |-- check_prereq        
(检查编译时间戳工具)
    |-- dexpreopt               
(模拟器相关工具,具体功能不明)
    |-- droiddoc               
(?作用不明,java语言,网上有人说和JDK5有关)
    |-- fs_config               
This program takes a list of files and directories
    |-- fs_get_stats               
(获取文件系统状态)
    |-- iself                        
(判断是否ELF格式)
    |-- isprelinked               
(判断是否prelinked
    |-- kcm                        
(按键相关)
    |-- lsd                        
List symbol dependencies
    |-- releasetools               
(生成镜像的工具及脚本)
    |-- rgb2565               
rgb转换为565
    |-- signapk               
apk签名工具)
    |-- soslim                        
strip工具)
`-- zipalign               
zip archive alignment tool

dalvik
目录 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                                
(?java语言写成)
|-- libcore                                
(核心库)
|-- libcore-disabled               
(?禁用的库)
|-- libdex                                
dex的库)
|-- libnativehelper               
Support functions for Android's class libraries
|-- tests                                
(测试代码)
|-- tools                                
(工具)
`-- vm                                
(虚拟机实现)

development
目录                (开发者需要的一些例程及工具)
|-- apps                                
(一些核心应用程序)
|   |-- BluetoothDebug        
(蓝牙调试程序)
|   |-- CustomLocale        
(自定义区域设置)
|   |-- Development        
(开发)
|   |-- Fallback               
(和语言相关的一个程序)
|   |-- FontLab               
(字库)
|   |-- GestureBuilder        
(手势动作)
|   |-- NinePatchLab        
(?)
|   |-- OBJViewer               
OBJ查看器)
|   |-- SdkSetup               
SDK安装器)
|   |-- SpareParts               
(高级设置)
|   |-- Term                        
(远程登录)
|   `-- launchperf               
(?)
|-- build                                
(编译脚本模板)
|-- cmds                                
(有个monkey工具)
|-- data                                
(配置数据)
|-- docs                                
(文档)
|-- host                                
(主机端USB驱动等)
|-- ide                                
(集成开发环境)
|-- ndk                                
(本地开发套件——c语言开发套件)
|-- pdk                                
Plug Development Kit
|-- samples                        
(例程)
|   |-- AliasActivity        
(?)
|   |-- ApiDemos               
API演示程序)
|   |-- BluetoothChat        
(蓝牙聊天)
|   |-- BrowserPlugin        
(浏览器插件)
|   |-- BusinessCard        
(商业卡)
|   |-- Compass               
(指南针)
|   |-- ContactManager        
(联系人管理器)
|   |-- CubeLiveWallpaper        
(动态壁纸的一个简单例程)
|   |-- FixedGridLayout        
(像是布局)
|   |-- GlobalTime               
(全球时间)
|   |-- HelloActivity        
Hello
|   |-- Home                        
Home
|   |-- JetBoy                        
jetBoy游戏)
|   |-- LunarLander        
(貌似又是一个游戏)
|   |-- MailSync               
(邮件同步)
|   |-- MultiResolution        
(多分辨率)
|   |-- MySampleRss        
RSS
|   |-- NotePad               
(记事本)
|   |-- RSSReader               
RSS阅读器)
|   |-- SearchableDictionary        
(目录搜索)
|   |-- SimpleJNI               
JNI例程)
|   |-- SkeletonApp        
(空壳APP
|   |-- Snake                        
snake程序)
|   |-- SoftKeyboard        
(软键盘)
|   |-- Wiktionary               
(?维基)
|   `-- WiktionarySimple
(?维基例程)
|-- scripts                                
(脚本)
|-- sdk                                
sdk配置)
|-- simulator                        
(?模拟器)
|-- testrunner                        
(?测试用)
`-- tools                                
(一些工具)

external
目录
.
|-- aes                        
AES加密)
|-- apache-http               
(网页服务器)
|-- astl                        
ASTL (Android STL) is a slimmed-down version of the regular C++ STL.
|-- bison                        
(自动生成语法分析器,将无关文法转换成CC++
|-- blktrace               
blktrace is a block layer IO tracing mechanism
|-- bluetooth               
(蓝牙相关、协议栈)
|-- bsdiff                        
diff工具)
|-- bzip2                        
(压缩工具)
|-- clearsilver               
html模板系统)
|-- dbus                        
(低延时、低开销、高可用性的IPC机制)
|-- dhcpcd               
DHCP服务)
|-- dosfstools               
DOS文件系统工具)
|-- dropbear               
SSH2server
|-- e2fsprogs               
EXT2文件系统工具)
|-- elfcopy               
(复制ELF的工具)
|-- elfutils                        
ELF工具)
|-- embunit               
Embedded Unit Project
|-- emma                        
java代码覆盖率统计工具)
|-- esd                        
Enlightened Sound Daemon,将多种音频流混合在一个设备上播放)
|-- expat                        
Expat is a stream-oriented XML parser.
|-- fdlibm                        
FDLIBM (Freely Distributable LIBM)
|-- freetype               
(字体)
|-- fsck_msdos               
dos文件系统检查工具)
|-- gdata                        
google的无线数据相关)
|-- genext2fs               
genext2fs generates an ext2 filesystem as a normal (non-root) user
|-- giflib                        
gif库)
|-- googleclient        
google用户库)
|-- grub                        
This is GNU GRUB, the GRand Unified Bootloader.
|-- gtest                        
Google C++ Testing Framework
|-- icu4c                        
ICU(International Component for Unicode)C/C++下的版本)
|-- ipsec-tools               
This package provides a way to use the native IPsec functionality
|-- iptables               
(防火墙)
|-- jdiff                        
generate a report describing the difference between two public Java APIs.
|-- jhead                        
jpeg头部信息工具)
|-- jpeg                        
jpeg库)
|-- junit                        
JUnit是一个Java语言的单元测试框架)
|-- kernel-headers        
(内核的一些头文件)
|-- libffi                        
libffi is a foreign function interface library.
|-- libpcap               
(网络数据包捕获函数)
|-- libpng                        
png库)
|-- libxml2               
xml解析库)
|-- mtpd                        
(一个命令)
|-- netcat                        
simple Unix utility which reads and writes dataacross network connections
|-- netperf                        
(网络性能测量工具)
|-- neven                        
(看代码和JNI相关)
|-- opencore               
(多媒体框架)
|-- openssl               
SSL加密相关)
|-- openvpn               
VPN开源库)
|-- oprofile               
OProfileLinux内核支持的一种性能分析机制。)
|-- ping                        
ping命令)
|-- ppp                        
pppd拨号命令,好像还没有chat
|-- proguard               
Java class file shrinker, optimizer, obfuscator, and preverifier
|-- protobuf               
a flexible, efficient, automated mechanism for serializing structured data
|-- qemu                        
arm模拟器)
|-- safe-iop               
functions for performing safe integer operations
|-- skia                        
skia图形引擎)
|-- sonivox               
sole MIDI solution for Google Android Mobile Phone Platform
|-- speex                        
Speex/解码API的使用(libspeex)
|-- sqlite                        
(数据库)
|-- srec                        
Nuance 公司提供的开源连续非特定人语音识别)
|-- strace                        
trace工具)
|-- svox                        
Embedded Text-to-Speech
|-- tagsoup               
TagSoup是一个Java开发符合SAXHTML解析器)
|-- tcpdump               
(抓TCP包的软件)
|-- tesseract               
Tesseract Open Source OCR Engine.
|-- tinyxml               
TinyXml is a simple, small, C++ XML parser
|-- tremor                        
I stream and file decoder provides an embeddable,integer-only library
|-- webkit                        
(浏览器核心)
|-- wpa_supplicant        
(无线网卡管理)
|-- xmlwriter               
XML 编辑工具)
|-- yaffs2                        
yaffs文件系统)
`-- zlib                        
a general purpose data compression library

frameworks
目录        (核心框架——javaC++语言)
.
|-- base                        
(基本内容)
|   |-- api                 
(?都是xml文件,定义了javaapi?)
|   |-- awt                
AWT库)
|   |-- build               
(空的)
|   |-- camera          
(摄像头服务程序库)
|   |-- cmds             
(重要命令:amapp_proce等)
|   |-- core               
(核心库)
|   |-- data               
(字体和声音等数据文件)
|   |-- docs               
(文档)
|   |-- graphics          
(图形相关)
|   |-- include            
(头文件)
|   |-- keystore        
(和数据签名证书相关)
|   |-- libs               
(库)
|   |-- location        
(地区库)
|   |-- media               
(媒体相关库)
|   |-- obex               
(蓝牙传输库)
|   |-- opengl               
2D-3D加速库)
|   |-- packages        
(设置、TTSVPN程序)
|   |-- sax               
XML解析器)
|   |-- services        
(各种服务程序)
|   |-- telephony        
(电话通讯管理)
|   |-- test-runner        
(测试工具相关)
|   |-- tests               
(各种测试)
|   |-- tools               
(一些叫不上名的工具)
|   |-- vpn               
VPN
|   `-- wifi               
(无线网络)
|-- opt                        
(可选部分)
|   |-- com.google.android                                
(有个framework.jar
|   |-- com.google.android.googlelogin               
(有个client.jar
|   `-- emoji               
standard message elements
`-- policies               
Product policies are operating system directions aimed at specific uses
    `-- base                
        |-- mid        
MID设备)
        `-- phone  
(手机类设备一般用这个,与锁屏有关的代码)

hardware
目录                (部分厂家开源的硬解适配层HAL代码)
|-- broadcom                        
(博通公司)
|   `-- wlan                        
(无线网卡)
|-- libhardware                        
(硬件库)
|   |-- include                        
(头文件)
|   `-- modules               
Default (and possibly architecture dependents) HAL modules
|       |-- gralloc               
gralloc显示相关)
|       `-- overlay               
Skeleton for the "overlay" HAL module.
|-- libhardware_legacy        
(旧的硬件库)
|   |-- flashlight               
(背光)
|   |-- gps                        
GPS
|   |-- include                        
(头文件)
|   |-- mount                        
(旧的挂载器)
|   |-- power                        
(电源)
|   |-- qemu                        
(模拟器)
|   |-- qemu_tracing        
(模拟器跟踪)
|   |-- tests                        
(测试)
|   |-- uevent                        
uevent
|   |-- vibrator                        
(震动)
|   `-- wifi                        
(无线)
|-- msm7k                        
(高通7k处理器开源抽象层)
|   |-- boot                        
(启动)
|   |-- libaudio               
(声音库)
|   |-- libaudio-qsd8k        
qsd8k的声音相关库)
|   |-- libcamera               
(摄像头库)
|   |-- libcopybit               
copybit库)
|   |-- libgralloc               
gralloc库)
|   |-- libgralloc-qsd8k        
qsd8kgralloc库)
|   |-- liblights               
(背光库)
|   `-- librpc                        
RPC库)
|-- ril                                
(无线电抽象层)
|   |-- include                        
(头文件)
|   |-- libril                        
(库)
|   |-- reference-cdma-sms        
cdma短信参考)
|   |-- reference-ril                        
ril参考)
|   `-- rild                                
ril后台服务程序)
`-- ti                                                
ti公司开源HAL
    |-- omap3                                
omap3处理器)
    |   |-- dspbridge               
DSP桥)
    |   |-- libopencorehw        
opencore硬件库)
    |   |-- liboverlay               
overlay硬件库)
    |   |-- libstagefrighthw        
stagefright硬件库)
    |   `-- omx                        
omx组件)
    `-- wlan                                
(无线网卡)

packages
目录
.
|-- apps                           
(应用程序库)
|   |-- AlarmClock             
(闹钟)
|   |-- Bluetooth               
(蓝牙)
|   |-- Browser                 
(浏览器)
|   |-- Calculator               
(计算器)
|   |-- Calendar                 
(日历)
|   |-- Camera                  
(相机)
|   |-- CertInstaller            
(在Android中安装数字签名,被调用)
|   |-- Contacts                
(拨号(调用)、联系人、通话记录)
|   |-- DeskClock              
(桌面时钟)
|   |-- Email                      
Email
|   |-- Gallery                    
(相册,和Camera类似,多了列表)
|   |-- Gallery3D                
(?3D相册)
|   |-- GlobalSearch           
(为google搜索服务,提供底层应用)
|   |-- GoogleSearch          
google搜索)
|   |-- HTMLViewer            
(浏览器附属界面,被浏览器应用调用,同时提供存储记录功能)
|   |-- IM                           
(即时通讯,为手机提供信号发送、接收、通信的服务)
|   |-- Launcher                 
(登陆启动项,显示图片框架等等图形界面)
|   |-- Launcher2               
(登陆启动项,负责应用的调用)
|   |-- Mms                        
(?彩信业务)
|   |-- Music                        
(音乐播放器)
|   |-- PackageInstaller        
(安装、卸载程序的响应)
|   |-- Phone                        
(电话拨号程序)
|   |-- Provision               
(预设应用的状态,使能应用)
|   |-- Settings               
(开机设定,包括电量、蓝牙、设备信息、界面、wifi等)
|   |-- SoundRecorder        
(录音机,可计算存储所需空间和时间)
|   |-- Stk                        
(接收和发送短信)
|   |-- Sync                        
(空)   -------1
|   |-- Updater               
(空)
|   `-- VoiceDialer               
(语音识别通话)
|-- inputmethods               
(输入法)
|   |-- LatinIME               
(拉丁文输入法)
|   |-- OpenWnn               
OpenWnn输入法)
|   `-- PinyinIME               
(拼音输入法)
|-- providers                        
(提供器,提供应用程序、界面所需的数据)
|   |-- ApplicationsProvider               
(应用程序提供器,提供应用程序启动项、更新等)
|   |-- CalendarProvider                        
(日历提供器)
|   |-- ContactsProvider                        
(联系人提供器)
|   |-- DownloadProvider               
(下载管理提供器)
|   |-- DrmProvider                        
(创建和更新数据库时调用)
|   |-- GoogleContactsProvider        
(联系人提供器的子类,用以同步联系人)
|   |-- GoogleSubscribedFeedsProvider
(设置信息提供器)
|   |-- ImProvider                                
(空)
|   |-- ManagementProvider               
(空)
|   |-- MediaProvider                        
(媒体提供器,提供存储数据)
|   |-- TelephonyProvider               
(彩信提供器)
|   |-- UserDictionaryProvider        
(用户字典提供器,提供用户常用字字典)
|   `-- WebSearchProvider               
(空)
|-- services                                        
|   |-- EasService                                
(空)
|   `-- LockAndWipe                        
(空)
`-- wallpapers                                       
(墙纸)
    |-- Basic                                       
(基本墙纸,系统内置墙纸)
    |-- LivePicker                                
(选择动态壁纸)
    |-- MagicSmoke                        
(壁纸特殊效果)
    `-- MusicVisualization               
(音乐可视化,图形随音乐而变化)

1里面有一个隐藏的.git文件夹,内容都是一样的,没有有意义的代码,config看似乎是一个下载程序,因此认为这些文件夹下没有实质东西。

prebuilt
目录                        x86arm架构下预编译的一些资源)
.
|-- android-arm               
arm-android相关)
|   |-- gdbserver               
gdb调试器)
|   `-- kernel                        
(模拟的arm内核)
|-- android-x86               
x86-android相关)
|   `-- kernel                        
(空的)
|-- common                        
(通用编译好的代码,应该是java的)
|-- darwin-x86                        
drawin x86平台)
|   `-- toolchain               
(工具链)
|       |-- arm-eabi-4.2.1        
|       |-- arm-eabi-4.3.1        
|       `-- arm-eabi-4.4.0        
|-- darwin-x86_64               
drawin x86 64bit平台)
|-- linux-x86                        
linux x86平台)
|   `-- toolchain               
(工具链,我们应该主要用这个)
|       |-- arm-eabi-4.2.1        
|       |-- arm-eabi-4.3.1        
|       |-- arm-eabi-4.4.0        
|       `-- i686-unknown-linux-gnu-4.2.1        
x86版编译器)
|-- linux-x86_64               
linux x86 64bit平台)
|-- windows                        
windows平台)
`-- windows-x86_64        
64bit windows平台)
system
目录                (底层文件系统库、应用及组件——C语言)
.
|-- Bluetooth               
(蓝牙相关)
|-- core                        
(系统核心工具盒接口)
|   |-- adb               
adb调试工具)
|   |-- cpio               
cpio工具,创建img
|   |-- debuggerd        
(调试工具)
|   |-- fastboot        
(快速启动相关)
|   |-- include               
(系统接口头文件)
|   |-- init               
init程序源代码)
|   |-- libacc               
(轻量级C编译器)
|   |-- libctest               
libc测试相关)
|   |-- libcutils        
libc工具)
|   |-- liblog               
log库)
|   |-- libmincrypt        
(加密库)
|   |-- libnetutils        
(网络工具库)
|   |-- libpixelflinger        
(图形处理库)
|   |-- libsysutils        
(系统工具库)
|   |-- libzipfile        
zip库)
|   |-- logcat               
(查看log工具)
|   |-- logwrapper        
log封装工具)
|   |-- mkbootimg        
(制作启动boot.img的工具盒脚本)
|   |-- netcfg               
(网络配置netcfg源码)
|   |-- nexus               
google最新手机的代码)
|   |-- rootdir               
rootfs,包含一些etc下的脚本和配置)
|   |-- sh                        
shell代码)
|   |-- toolbox               
toolbox,类似busybox的工具集)
|   `-- vold               
SD卡管理器)
|-- extras                        
(额外工具)
|   |-- latencytop        
a tool for software developers identifying system latency happen
|   |-- libpagemap        
pagemap库)
|   |-- librank               
Java Library Ranking System库)
|   |-- procmem        
pagemap相关)
|   |-- procrank        
Java Library Ranking System相关)
|   |-- showmap        
showmap工具)
|   |-- showslab        
showslab工具)
|   |-- sound               
(声音相关)
|   |-- su                        
su命令源码)
|   |-- tests               
(一些测试工具)
|   `-- timeinfo        
(时区相关)
`-- wlan                        
(无线相关)
    `-- ti                        
ti网卡相关工具及库)


vendor
目录                        (厂家定制内容)

|-- aosp                            
android open source project
|   `-- products                 
(一些板级规则)
|-- htc                              
HTC公司)
|   |-- common-open        
(通用部分)
|   |   `-- akmd                
(解压img用的工具)
|   |-- dream-open           
G1开放部分)
|   |-- prebuilt-open          
(预编译开放部分)
|   `-- sapphire-open        
sapphire这款型号开放内容)
|-- pv-open                      
(没东西)
|-- qcom                          
(里面基本是空的)
`-- sample                        
google提供的样例)
    |-- apps                        
(应用)
    |   |-- client                  
(用户)
    |   `-- upgrade             
(升级)
    |-- frameworks            
(框架)
    |   `-- PlatformLibrary  
(平台库)
    |-- products                 
(产品)
    |-- sdk_addon             
sdk添加部分)
    `-- skins                      
(皮肤)
        `-- WVGAMedDpi     
WVGA适用的图片)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值