Android 2.1 源码结构分析

摘要:
Android2.1|--Makefile |--bionic|--bootable|--build|--cts|--dalvik|--development|--external|--frames|--hardware|--out|--package|--prebuild|--sdk|--system`--vendor bionic目录根据第二级扩展tree-d-L2 |--libc(C库)||--arch arm ||--arc x86||--biomic|--docs(文档)|--include(头文件)||--inline t(?与Nesbsd系统相关,特定角色未知)| |--Private(某些专用头文件)| |--stdio | |--stdlib | |--string | |--tools | |--tzcode | |--unistd | `--zoneinfo |--libdl |--libm | |--alpha | |--amd64 | |--arm | |--bsdsrc(?

Android 2.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 目录按照二级展开 tree -d -L 2

  |-- 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两种架构)

  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 (qsd8k的gralloc库)

  | |-- 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 (无线网卡)

  prebuilt 目录 (x86和arm架构下预编译的一些资源)

  .

  |-- 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网卡相关工具及库)

免责声明:文章转载自《Android 2.1 源码结构分析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇winform项目笔记:Android开发笔记(二十四)——属性动画下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[Android]Android的常用adb命令

第一部分: 1. ubuntu下配置环境anroid变量: 在终端执行sudo gedit /etc/profile 打开文本编辑器,在最后追加#set android environment 2. 运行Eclipse,还需要配置JAVA环境变量 #set java environment JAVA_HOME=/home/loginname/jdk目录名...

COLA 4.0:应用架构的最佳实践

应用架构的本质 什么是架构?十个人可能有十个回答,架构在技术的语境下,就和架构师一样魔幻。我曾经看过一本技术书,用了一章的篇幅讨论架构的定义,最终也没有说明白。 实际上,定义架构也没那么难,如下图所示,架构的本质,简单来说,就是要素结构。所谓的要素(Components)是指架构中的主要元素,结构是指要素之间的相互关系(Relationship)。 例如组...

android app自动化测试之UIAutomator

一、UIAutomatorAndroid自动化测试工具有很多,但是要免费、易上手,本人觉得就直接使用Eclipse自带的UIAutomator就不错。测试人员无需跟开发要代码信息,只要手机上有安装之后的APP自己就能做出自动测试用例,况且一通百通,就算是不满足于UI测试的,找个简单易上手的先明白原理,再深入了解其它复杂工具也会轻松很多。何乐而不为呢? UI...

【转】go test命令(Go语言测试命令)完全攻略

go的单元测试, 有以Test开头和Benchmark开头的函数,作用是不一样的。go test -v -bench=. 原文: http://c.biancheng.net/view/124.html golang单元测试 要开始一个单元测试,需要准备一个 go 源码文件,在命名文件时需要让文件必须以_test结尾单元测试源码文件可以由多个测试用例组成,...

基于ubuntu10.04的gccarm安装

  第一步: 将linux-source/arm-2008q3.tar.bz2 (or arm-linux-gcc-4.3.2.tgz)这个文件复制到linux主机的任意目录下,并在终端中分别执行下面的解压缩命令:  $>  sudo mkdir /usr/local/arm $>  输入密码 $>  sudo tar xvf arm-2...

如何阅读mysql源码

  在微博上问mysql高手,如何阅读mysql 源码大致给了下面的一些建议: step 1,知道代码的组织结构(官方文档http://t.cn/z8LoLgh; Step2: 尝试大致了解一条sql涉及的上层接口 Step3:使用gdb单步调试 Step4 理解每个新版本mysql changelog的具体实现 以后深入关注mysql源码,今天以此为证。...