资源描述:
《android源代码结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android的源代码结构[原创]Android的源代码结构(hanchao3cAndroid开发者论坛原创,转载请注明)Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:.
2、--Makefile(全局的Makefile)
3、--bionic(Bionic含义为仿生,这里面是一些基础的库的源代码)
4、--bootloader(引导加载器)
5、--build(build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
6、--d
7、alvik(JAVA虚拟机)
8、--development(程序开发所需要的模板和工具)
9、--external(目标机器使用的一些库)
10、--frameworks(应用程序的框架层)
11、--hardware(与硬件相关的库)
12、--kernel(Linux2.6的源代码)
13、--packages(Android的各种应用程序)
14、--prebuilt(Android在各种平台下编译的预置脚本)
15、--recovery(与目标的恢复功能相关)`--system(Android的底层的一些库)bionic目录展开一个级别的目录如下所示:bion
16、ic/
17、--Android.mk
18、--libc
19、--libdl
20、--libm
21、--libstdc++
22、--libthread_db`--linkerbootloader目录展开的两个级别目录:bootloader/`--legacy
23、--Android.mk
24、--README
25、--arch_armv6
26、--arch_msm7k
27、--fastboot_protocol.txt
28、--include
29、--libboot
30、--libc
31、--nandwrite`--usbloaderbuild目录展开的一个级别的目录如下所示:build
32、/
33、--buildspec.mk.default
34、--cleanspec.mk
35、--core(各种以mk为结尾的文件,它门是编译所需要的Makefile)
36、--envsetup.sh
37、--libs
38、--target(包含board和product两个目录,为目标所需要文件)`--tools(编译过程中主机所需要的工具,一些需要经过编译生成)其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。envsetup.sh是一个在使用仿真器运行的时候,用于设置环境
39、的脚本。dalvik目录用于提供AndroidJAVA应用程序运行的基础————JAVA虚拟机。development目录展开的一个级别的目录如下所示:development
40、--apps(Android应用程序的模板)
41、--build(编译脚本模板)
42、--cmds
43、--data
44、--docs
45、--emulator(仿真相关)
46、--host(包含windows平台的一些工具)
47、--ide
48、--pdk
49、--samples(一些示例程序)
50、--simulator(大多是目标机器的一些工具)`--tools在emulator目录中q
51、emud是使用QEMU仿真时目标机器运行的后台程序,skins是仿真时手机的界面。samples中包含了很多Android简单工程,这些工程为开发者学习开发Android程序提供了很大便利,可以作为模板使用。external目录展开的一个级别的目录如下所示:external/
52、--aes
53、--apache-http
54、--bluez
55、--clearsilver
56、--dbus
57、--dhcpcd
58、--dropbear
59、--elfcopy
60、--elfutils
61、--emma
62、--esd
63、--expat
64、--fdlibm
65、--freet
66、ype
67、--gdata
68、--giflib
69、--googleclient
70、--icu4c
71、--iptables
72、--jdiff
73、--jhead
74、--jpeg
75、--libffi
76、--libpcap
77、--libpng
78、--libxml2
79、--netcat
80、--netperf
81、--neven
82、--opencore
83、--openssl
84、--oprofile
85、--ping
86、--ppp
87、--protobuf
88、--qemu
89、--safe-iop
90、--skia
91、--sonivox
92、--sqlite
93、--srec
94、--strace
95、--tagso
96、up
97、--tcpdump
98、--tinyxml
99、--tremor
100、--webkit
101、--wpa_supplicant
102、--yaffs2`--zlib在external中,每个目录表示Android目标系统中的一个模块,可能有一个或者若干个库构成。其中:opencore为PV(P