最全的ANDROID源码目录结构详解1
安卓系统文件夹详细结构及其文件解析

安卓系统文件夹详细结构及其文件解析安卓系统的文件夹结构是一个非常复杂的层次结构,涵盖了各种各样的文件和文件夹,用于管理设备的各种功能和资源。
下面是对安卓系统文件夹结构的详细解析。
1.根目录:- /system:系统级文件夹,包含了系统的核心组件和应用程序。
其中最重要的文件是/ system / bin / 和/ system / xbin / 中的二进制可执行文件。
- /data:包含了应用程序和用户数据的文件夹。
每个应用程序都会被分配一个唯一的文件夹,其中包含了该应用程序的所有数据。
- /cache:用于存储临时文件和缓存文件。
- /mnt:用于挂载外部存储设备和其他文件系统。
2. /system目录:- /system/bin:包含了系统级的可执行文件,例如adb、mount等。
- /system/etc:包含了一些系统配置文件,例如hosts文件用于域名解析。
- /system/framework:包含了系统框架的核心文件,例如Android 的API类库和资源文件。
- /system/lib:包含了系统级的共享库,例如图形渲染库、音频库等。
- /system/media:包含了系统的多媒体资源文件,例如系统的铃声、壁纸等。
- /system/usr:包含了一些系统级的用户应用程序。
3. /data目录:- /data/app:包含了已安装的应用程序的APK文件。
- /data/data:包含了应用程序的数据文件,包括数据库、偏好设置等。
- /data/cache:包含了应用程序的缓存文件。
- /data/misc:包含了一些杂项的系统数据,例如wifi配置文件。
- /data/system:包含了系统级的数据,例如安全证书、用户配置等。
4. /cache目录:- /cache/dalvik-cache:包含了Dalvik虚拟机的缓存文件,用于提高应用程序的启动速度。
- /cache/recovery:包含了刷机时使用的恢复模式的相关文件。
Android项目工程目录详解

Android项目工程目录详解1. Src:该目录中存放的是该项目的源代码,这个目录包含了你即将创建的Java源代码文件,这个目录里的文件是根据package结构管理的,它与普通java项目中的/src目录很相似。
2.Gen:自动生成的文件目录。
该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,该目录下定义了一个R.java文件,该文件相当于项目的字典,为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,当项目中使用这些资源时,会通过该ID得到资源的引用。
R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。
R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res文件夹中的一个名字对应,即R类定义该项目所有资源的索引。
通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
R.java很重要,不能修改不能删除。
3.Android{版本号}:这个目录包含了项目需要的库文件(Jar文件),这和普通Java项目中的/lib目录很相似。
同时其中还包含项目打包时需要的META-INF目录.4.Android Private Libraries:所有的第三方JAR包引入都被放入了Android Private Libraries中5.Android Dependencies:新版本的ADT修改了第三方jar的导入方式,之前可以在工程里面做关联,会在工程上自动添加ReferenceLibrary。
在新版本的ADT环境下,只需要在工程目录下新建libs文件夹,注意是libs不是lib,然后将第三方的jar复制进去,eclipse会自动将这个jar添加到Android Dependencies文件夹下,不必在通过BuildPath自己去修改了,也不需要ReferenceLibrary了。
ANDROID源码结构分析

ANDROID源码结构分析Android是一个开源的操作系统,其源代码以Apache License 2.0开源许可证的形式向公众发布。
它的源码结构非常庞大而复杂,涵盖了各种组件和功能,以支持不同形式的设备和应用。
本文将对Android源码的结构进行详细分析,让读者对Android系统的内部构建有更深入的理解。
Android源码主要分为四个部分:内核、硬件抽象层(HAL)、Android运行时环境(ART/Dalvik)和框架层。
这些部分协同工作,形成了Android完整的系统架构。
1. 内核部分:Android操作系统的底层是Linux内核,它提供了访问硬件设备、内存管理、进程管理、安全性等基本功能。
Android对Linux内核进行了一些定制,以适应移动设备的特性和需求,比如增加了对电池管理、相机功能、音频系统的支持等。
Android的内核代码位于kernel目录下,包括了Linux内核的源码以及Android特有的补丁。
2. 硬件抽象层(HAL):HAL层负责将底层硬件与操作系统之间的交互抽象出来,为上层应用提供统一的接口。
HAL层的代码位于硬件厂商提供的硬件抽象层的目录下,通常是在device或vendor目录下,有些库会放在硬件设备目录中。
3. Android运行时环境:Android系统采用了Java虚拟机(Dalvik 或ART)作为应用程序运行的环境。
Dalvik是Android4.4之前的默认虚拟机,而ART是Android5.0及之后的默认虚拟机。
Android运行时环境负责将应用程序的Java字节码翻译成机器码,执行应用程序代码。
运行时环境的代码位于art和dalvik目录下。
4. 框架层:框架层包括了各种系统服务、应用程序接口(API)和系统应用程序。
这些框架组件实现了Android系统的核心功能,比如窗口管理、通信服务、多媒体播放、数据存储等。
框架层的代码位于frameworks目录下,其中包括了各种子目录用于存放不同功能模块的代码,比如native相关的代码在native目录下,多媒体相关的代码在media目录下等。
安卓项目目录结构说明

安卓项目目录结构说明安卓项目的目录结构是指在Android应用开发过程中,Android工程所使用的特定目录结构。
这些目录按照特定的规则组织和存放项目的源代码、资源文件、配置文件等内容,以方便开发者管理和维护项目。
一般来说,一个标准的Android项目包含以下几个主要目录:1. `app`目录:是项目的主要目录,包含了应用的主要代码和资源文件。
在该目录下,主要包含以下几个子目录:- `src`目录:包含了项目的源代码。
其中又分为`main`目录和`androidTest`目录。
- `main`目录:是开发者主要关注的目录,包含了应用的主要代码和资源。
主要包含的子目录有:- `java`目录:存放Java代码文件。
包名与包含入口类(例如`MainActivity.java`)的包名一致。
- `res`目录:包含了应用的各种资源文件,如布局文件、字符串资源、图标、图片等。
主要包含以下几个子目录:- `layout`目录:存放应用的布局文件,扩展名为`.xml`,用于定义应用的界面布局。
- `values`目录:存放了一些配置信息和资源声明,如颜色、尺寸、字符串等。
- `drawable`目录:存放图片资源文件,如背景图片、图标等。
- `mipmap`目录:存放应用的启动图标。
- `AndroidManifest.xml`文件:是Android应用的清单文件,用于描述应用的名称、入口类、权限等信息。
- `Assets`目录:存放一些原始文件,如声音、视频等,可以通过代码访问。
- `androidTest`目录:包含了应用的功能测试代码。
用于编写和运行一些UI功能测试和单元测试。
- `build.gradle`文件:是应用的构建脚本,用于配置应用的依赖库、插件和其他构建选项。
2. `gradle`目录:包含了项目的Gradle构建脚本,用于定义项目的构建逻辑和依赖关系。
4. `build`目录:是构建过程中生成的临时文件和构建输出文件的存放目录。
Android源码分析一Android系统架构

Android源码分析⼀Android系统架构⼀ Android系统架构1. Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这⼀层为Android设备各种硬件提供了底层驱动,如显⽰驱动、⾳频驱动、照相机驱动、蓝⽛驱动、Wi-Fi驱动、电源管理等;2. 硬件抽象层(android hardware abstraction layer):安卓驱动硬件的⽅式与Linux不尽相同。
传统Linux的驱动完全存活于内核空间。
Android则在内核外部增加了硬件抽象层(HAL, Hardware Abstraction Layer),把⼀部分驱动功能放到HAL层中。
安卓为什么费尽⿇烦增加⼀个HAL呢?为了保护源代码。
Linux内核采⽤了GPL协议,所以硬件⽣产商想要⽀持Linux系统,必须遵照GPL协议公开硬件驱动的源代码。
但这些源代码中包含有许多硬件的设计信息,牵涉到硬件⽣产商的核⼼利益。
⽽增加了HAL层之后,硬件⼚商就不需要开放所有的驱动代码了。
3. 系统运⾏库层(libraries):这⼀层通过⼀些C/C++库(so库)来为Android系统提供了主要的特性⽀持。
如SQLite库提供了数据库⽀持,OpenGL ES库提供了3D绘图⽀持,Webkit库提供了浏览器内核⽀持等;4. 应⽤框架层(application framework):这⼀层主要提供构建应⽤程序时可能⽤到的各种API,Android⾃带的⼀些核⼼应⽤就是使⽤这些API完成的,开发者也可通过使⽤API来构建⾃⼰的应⽤程序;a) Activity Manager(活动管理器)管理各个应⽤程序⽣命周期以及通常的导航回退功能b) Window Manager(窗⼝管理器)管理所有的窗⼝程序c) Content Provider(内容提供器)使得不同应⽤程序之间存取或者分享数据d) View System(视图系统)构建应⽤程序的基本组件e) Notification Manager(通告管理器)使得应⽤程序可以在状态栏中显⽰⾃定义的提⽰信息f) Package Manager(包管理器)Android系统内的程序管理g)Telephony Manager(电话管理器)管理所有的移动设备功能h)Resource Manager(资源管理器)提供应⽤程序使⽤的各种⾮代码资源,如本地化字符串、图⽚、布局⽂件、颜⾊⽂件等i)Location Manager(位置管理器)提供位置服务j)XMPP Service(XMPP服务)提供Google Talk服务1. 应⽤层(applications):这⼀层主要⽤于⼿机应⽤的安装,如系统⾃带联系⼈、短信等程序,或是第三⽅应⽤程序 6.Android运⾏时库(Android Runtime)ART以上为五层五区,还有⼀个区域是存在于libraries层的Android运⾏时库(Android Runtime)ART,它主要提供⼀些核⼼库,能够允许开发者使⽤Java语⾔来编写Android应⽤。
安卓项目目录结构说明

安卓项目目录结构说明安卓项目的目录结构是指在开发安卓应用程序时,项目所使用的文件和文件夹的组织方式。
一个好的目录结构可以使代码的管理更加清晰和高效。
下面是一个典型的安卓项目目录结构的说明。
1. app文件夹:这个是一个安卓项目的主要文件夹,包含了应用程序的源代码文件、资源文件和配置文件等。
以下是该文件夹的主要子文件夹和文件的说明:- manifest文件:在这个文件夹中,有一个AndroidManifest.xml文件,它是一个必需的文件,包含了应用程序的所有组件和权限等信息。
- src文件夹:这个文件夹包含了所有的源代码文件。
通常,该文件夹下还有三个子文件夹:- java文件夹:该文件夹包含了Java代码文件,用于定义应用程序的活动和其他组件。
- res文件夹:这个文件夹包含了应用程序的资源文件,如布局文件、字符串文件、图片文件等。
- AndroidTest文件夹:这个文件夹包含了一些用于测试应用程序的测试代码文件。
- build.gradle文件:这个文件是一个Gradle构建脚本,用于构建和打包应用程序。
2. Gradle文件夹:这个文件夹包含了Gradle构建系统的配置文件。
Gradle是一种用于构建和打包Android应用程序的工具。
- gradle.properties文件:在这个文件中,可以定义一些全局的Gradle配置属性。
- gradle-wrapper.properties文件:3. .idea文件夹:这个文件夹是用于存储IntelliJ IDEA集成开发环境的配置文件。
4. build文件夹:这个文件夹是在构建过程中生成的,包含了构建和打包应用程序所需要的文件。
该文件夹通常包含以下子文件夹和文件:- outputs文件夹:这个文件夹包含了构建和打包应用程序的输出文件,如apk文件。
- intermediates文件夹:这个文件夹包含了构建过程中的一些临时文件。
- generated文件夹:这个文件夹包含了一些自动生成的文件。
Android目录结构(详解)
下面是HelloAndroid项目在eclipse中的目录层次结构:由上图可以看出项目的根目录下共有九个文件(夹),下面就这九个文件(夹)进行详解:1.1src文件夹和assets文件夹:每个Android程序都包含资源目录(src)和资产目录(assets),资源和资产听起来感觉没有多大差别,但在存储外部内容时用资源(src)比较多,其中它们的区别在于存放在资源(src)下的内容可以通过应用程序的R类进行访问,而存放在资产(assets)下的内容会保持原始文件的格式,如果需要访问,则必须使用AssetManager以字节流的方式来读取,用起来非常的不方便。
为了方便使用,通常文件和数据都会保存在资源(src)目录下1.2res(Resource)目录:资源目录可以存放一些图标,界面文件和应用中用到的文字信息,下图为res目录截图:1.2.1 drawable-*dpi文件夹:将图标按分辨率的高低放入不同的目录,其中draeable-hdpi 用来存放高分辨率的图标,drawable-mdpi用来存放中等分辨率的图标,drawable-ldpi 用来存放低分辨率的图标1.2.2 values文件夹:用来存放文字的信息(1)strings.xml:用来定义字符串和数值<resources><string name="hello">Hello World, Hello 3G</string><string name="app_name">Android1.1</string><string name="test">哥想你了</string><string name="startButton">按钮1</string><string name="start">按钮1</string></resources>每个string标签生命了一个字符串,name属性指定它的引用值(2)为什么要把这些出现的文字单独放在strings.xml文件中?答案:一是为了国际化,如果需要将文件中的文字换成别的国家的语言,就可以只需要替换掉一个strings.xml文件就可以了二是为了减少应用的体积,例如,我们要在应用中使用“哥想你了”这句话1000次,如果我们没有将“哥想你了”定义在strings.xml文件中,而是直接在应用中使用时写上这几个字,那么我们就会在应用中写4000个字。
Android操作系统详细目录结构(全)
Android操作系统详细目录结构(3)Android操作系统相信大家已经非常熟悉了。
该系统没有内置文件管理器,经过安装第三方文件管理器后可以对主系统内存和SD卡上的文件管理。
主内存中的文件目录都是由主系统自动生成,那么又有多少人他们目录结构的具体分工呢?下面是本站整理的Android操作系统详细目录结构,供大家交流使用。
一、首先是\system\app文件夹,这里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。
在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。
\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.odex\system\app\Bugreport.apk Bug报告\system\app\Bugreport.odex\system\app\Calculator.apk 计算器\system\app\Calculator.odex\system\app\Calendar.apk 日历\system\app\Calendar.odex\system\app\CalendarProvider.apk 日历提供\system\app\CalendarProvider.odex\system\app\Camera.apk 照相机\system\app\Camera.odex\system\app\com.amazon.mp3.apk 亚马逊音乐\system\app\Contacts.apk 联系人\system\app\Contacts.odex\system\app\DownloadProvider.apk 下载提供\system\app\DownloadProvider.odex\system\app\DrmProvider.apk DRM数字版权提供\system\app\DrmProvider.odex\system\app\Email.apk 电子邮件客户端\system\app\Email.odex\system\app\FieldTest.apk 测试程序\system\app\FieldTest.odex\system\app\GDataFeedsProvider.apk GoogleData提供\system\app\GDataFeedsProvider.odex\system\app\Gmail.apk Gmail电子邮件\system\app\Gmail.odex\system\app\GmailProvider.apk Gmail提供\system\app\GmailProvider.odex\system\app\GoogleApps.apk 谷歌程序包\system\app\GoogleApps.odex\system\app\GoogleSearch.apk 搜索工具\system\app\GoogleSearch.odex\system\app\gtalkservice.apk GTalk服务\system\app\gtalkservice.odex\system\app\HTMLViewer.apk HTML查看器\system\app\HTMLViewer.odex\system\app\IM.apk 即使通讯组件包含MSN、yahoo通\system\app\ImCredentialProvider.apk\system\app\ImProvider.apk\system\app\ImProvider.odex\system\app\Launcher.apk 启动加载器\system\app\Launcher.odex\system\app\Maps.apk 电子地图\system\app\Maps.odex\system\app\MediaProvider.apk 多媒体播放提供\system\app\MediaProvider.odex\system\app\Mms.apk 短信、彩信\system\app\Mms.odex\system\app\Music.apk 音乐播放器\system\app\Music.odex\system\app\MyFaves.apk T-Mobile MyFaves程序\system\app\MyFaves.odex\system\app\PackageInstaller.apk apk安装程序\system\app\PackageInstaller.odex\system\app\Phone.apk 电话拨号器\system\app\Phone.odex\system\app\Settings.apk 系统设置\system\app\Settings.odex\system\app\SettingsProvider.apk 设置提供\system\app\SettingsProvider.odex\system\app\SetupWizard.apk 设置向导\system\app\SetupWizard.odex\system\app\SoundRecorder.apk 录音工具\system\app\SoundRecorder.odex\system\app\Street.apk 街景地图\system\app\Street.odex\system\app\Sync.apk 同步程序\system\app\Sync.odex\system\app\T alk.apk 语音程序\system\app\T alk.odex\system\app\T elephonyProvider.apk 电话提供\system\app\T elephonyProvider.odex\system\app\Updater.apk 更新程序\system\app\Updater.odex\system\app\Vending.apk 制造商信息\system\app\Vending.odex\system\app\VoiceDialer.apk 语音拨号器\system\app\VoiceDialer.odex\system\app\YouTube.apk Youtube视频\system\app\YouTube.odex二、这次是\system\bin文件夹,这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,下面是文件结构详解:\system\bin\akmd\system\bin\am\system\bin\app_process 系统进程\system\bin\dalvikvm Dalvik虚拟机宿主\system\bin\dbus-daemon 系统BUS总线监控\system\bin\debuggerd 调试器\system\bin\debug_tool 调试工具\system\bin\dexopt DEX选项\system\bin\dhcpcd DHCP服务器\system\bin\dumpstate 状态抓取器\system\bin\dumpsys 系统抓取器\system\bin\dvz\system\bin\fillup\system\bin\flash_image 闪存映像\system\bin\hciattach\system\bin\hcid HCID内核\system\bin\hostapd\system\bin\hostapd_cli\system\bin\htclogkernel\system\bin\input\system\bin\installd\system\bin\itr\system\bin\linker\system\bin\logcat Logcat日志打印\system\bin\logwrapper\system\bin\mediaserver\system\bin\monkey\system\bin\mountd 存储挂载器\system\bin\netcfg 网络设置\system\bin\ping Ping程序\system\bin\playmp3 MP3播放器\system\bin\pm 包管理器\system\bin\qemud QEMU虚拟机\system\bin\radiooptions 无线选项\system\bin\rild RIL组件\system\bin\sdptool\system\bin\sdutil\system\bin\service\system\bin\servicemanager 服务管理器\system\bin\sh\system\bin\ssltest SSL测试\system\bin\surfaceflinger 触摸感应驱动\system\bin\svc 服务\system\bin\system_server\system\bin\telnetd Telnet组件\system\bin\toolbox\system\bin\wlan_loader\system\bin\wpa_cli\system\bin\wpa_supplicant三、是\system\etc文件夹,从这个文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
安卓系统文件夹详细结构及其文件解析
安卓系统文件夹详细结构及其文件解析Android操作系统是一种基于Linux内核的开源操作系统,它的文件系统也是采用的Linux文件系统结构。
下面我将详细介绍安卓系统文件夹的结构及其文件解析。
1. /system- /bin: 该文件夹存放一些包含Android系统所需的可执行文件,如busybox等。
- /etc: 该文件夹存放一些系统配置文件,如/hosts文件、init.d 文件夹等。
- /lib: 该文件夹存放一些系统库文件,如libc.so、libm.so等。
- /usr: 该文件夹存放一些系统资源文件,如fonts文件夹、keylayout文件夹等。
2. /data- /app: 该文件夹存放已安装的应用程序,每个应用程序都会生成一个以包名命名的子文件夹。
- /cache: 该文件夹存放系统缓存文件,如应用程序缓存、系统临时文件等。
- /data: 该文件夹存放应用程序的数据文件,如数据库文件、SharedPreferences文件等。
- /system: 该文件夹存放一些系统级别的数据文件,如系统配置文件、系统数据库文件等。
- /block: 该文件夹存放块设备文件,如硬盘、U盘等。
- /input: 该文件夹存放输入设备文件,如键盘、鼠标等。
- /graphics: 该文件夹存放图形设备文件,如显示器等。
- /net: 该文件夹存放网络设备文件,如网卡等。
4. /proc- 各个进程的文件夹: 在/proc文件夹下,以进程ID命名的文件夹中存放有关该进程的信息,如进程的状态、资源占用情况等。
5. /sys- 各个设备的文件夹: 在/sys文件夹下,存放了系统的各个设备的相关信息,如CPU、内存、磁盘等设备。
6. /mnt- /sdcard: 该文件夹是外部存储的挂载点,通常被映射为手机的SD 卡。
- /usb: 该文件夹是USB存储的挂载点,用于连接USB存储设备。
7. /root- 该文件夹是Android系统的根目录。
安卓系统文件夹结构及其文件解析
安卓系统文件夹结构及其文件解析Android系统的文件夹结构是由一系列目录和文件组成的,用于存储系统文件、应用程序、用户数据等。
以下是Android系统文件夹结构的详细解析。
1. /system:该目录包含了系统级别的文件和应用程序。
主要包含以下几个子目录和文件:- /bin:存放一些系统的可执行文件。
- /etc:存放一些系统的配置文件。
- /lib:存放系统级别的库文件。
- /vendor:存放供应商定制的文件和应用程序。
2. /data:该目录存放应用程序的数据、用户数据等。
主要包含以下几个子目录和文件:- /data/app:存放应用程序的安装包及其相关数据。
- /data/data:存放应用程序的数据。
- /data/system:存放系统级别的数据,如配置文件、登录信息等。
- /data/user:存放用户的数据,如文档、照片等。
3. /cache:该目录存放系统的缓存文件。
主要包含以下几个子目录和文件:- /cache/app:存放应用程序的缓存数据。
- /cache/dalvik-cache:存放Dalvik虚拟机的缓存文件。
- /cache/recovery:存放系统恢复相关的缓存文件。
4. /root:该目录是系统的根目录,包含一些系统级别的文件和目录。
5. /mnt:该目录是挂载点目录,用于挂载外部存储设备和其他文件系统。
6. /proc:该目录是一个虚拟文件系统,用于存放系统和进程相关的信息。
除了以上主要的文件夹,还有一些重要的文件可以解析如下:7. /init.rc:该文件是系统的启动脚本,用于初始化系统的各个组件和服务。
8. /build.prop:该文件包含了系统的一些基本属性和配置,如设备型号、版本号等。
9. /system/framework:该目录存放Android系统的核心框架文件。
10. /system/app:该目录存放系统自带的应用程序。
11. /system/lib:该目录存放系统级别的共享库文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最全的Android源码目录结构详解Android2.1|--Makefile|--bionic(bionic C库)|--bootable(启动引导相关代码)|--build(存放系统编译规则及generic等基础开发包配置)|--cts(Android兼容性测试套件标准)|--dalvik(dalvik JAVA虚拟机)|--development(应用程序开发相关)|--external(android使用的一些开源的模组)|--frameworks(核心框架——java及C++语言)|--hardware(部分厂家开源的硬解适配层HAL代码)|--out(编译完成后的代码输出与此目录)|--packages(应用程序包)|--prebuilt(x86和arm架构下预编译的一些资源)|--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(支持arm和x86两种架构)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(自动生成语法分析器,将无关文法转换成C、C++)|--blktrace(blktrace is a block layer IO tracing mechanism)|--bluetooth(蓝牙相关、协议栈)|--bsdiff(diff工具)|--bzip2(压缩工具)|--clearsilver(html模板系统)|--dbus(低延时、低开销、高可用性的IPC机制)|--dhcpcd(DHCP服务)|--dosfstools(DOS文件系统工具)|--dropbear(SSH2的server)|--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 ext2filesystem 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(OProfile是Linux内核支持的一种性能分析机制。