Android源代码结构分析.docx

上传人:牧羊曲112 文档编号:3060215 上传时间:2023-03-10 格式:DOCX 页数:29 大小:42.38KB
返回 下载 相关 举报
Android源代码结构分析.docx_第1页
第1页 / 共29页
Android源代码结构分析.docx_第2页
第2页 / 共29页
Android源代码结构分析.docx_第3页
第3页 / 共29页
Android源代码结构分析.docx_第4页
第4页 / 共29页
Android源代码结构分析.docx_第5页
第5页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Android源代码结构分析.docx》由会员分享,可在线阅读,更多相关《Android源代码结构分析.docx(29页珍藏版)》请在三一办公上搜索。

1、Android源代码结构分析目录 一、源代码结构 . 2 第一层次目录 . 2 bionic目录 . 3 bootloader目录. 5 build目录 . 7 dalvik目录 . 9 development目录 . 9 external目录 . 13 frameworks目录. 19 Hardware . 20 Out. 22 Kernel . 22 packages目录 . 22 prebuilt目录 . 27 SDK. 28 system目录 . 28 Vendor . 32 一、源代码结构 第一层次目录 Google提供的Android包含了原始Android的目标机代码,主机编译工

2、具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示: . |- Makefile |- bionic |- bootloader ,我们的是bootable, |- build |- dalvik |- development |- external |- frameworks |- hardware |- kernel |- packages |- prebuilt |- recovery - system bionic目录 bionic C库 bionic目录展开一个级别的目录如下所示: bionic/ |- Android.mk |- libc |- libdl |- lib

3、m |- libstdc+ |- libthread_db - linker bionic 目录 |- libc | |- arch-arm | |- arch-x86 | |- bionic | |- docs | |- include | |- inet | |- kernel | |- netbsd | |- private | |- stdio | |- stdlib | |- string | |- tools | |- tzcode | |- unistd | - zoneinfo |- libdl |- libm | |- alpha | |- amd64 | |- arm |

4、|- bsdsrc | |- i386 | |- i387 | |- ia64 | |- include | |- man | |- powerpc | |- sparc64 | - src |- libstdc+ | |- include powerpc架构) |- libthread_db | - include - linker - arch bootloader目录 启动引导相关代码 bootloader目录展开的两个级别目录: bootloader/ - legacy |- Android.mk |- README |- arch_armv6 |- arch_msm7k |- fas

5、tboot_protocol.txt |- include |- libboot |- libc |- nandwrite - usbloader bootable 目录 . |- bootloader | - legacy | |- arch_armv6 | |- arch_msm7k | |- include | |- libboot | |- libc | |- nandwrite | - usbloader |- diskinstaller - recovery |- edify |- etc |- minui |- minzip |- mtdutils |- res | - imag

6、es |- tools | - ota - updater build目录 存放系统编译规则及generic等基础开发包配置 build目录展开的一个级别的目录如下所示: build/ |- buildspec.mk.default |- cleanspec.mk |- core |- envsetup.sh |- libs |- target - tools 其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。 envsetup.sh是一个在使用仿真器运行的时候,用于设置环境的脚本。 build目录 |- core |

7、- history |- libs | - host |- target | |- board | | |- emulator | | |- generic | | |- idea6410 | | - sim | - product | - security - tools |- acp |- apicheck |- applypatch |- apriori |- atree |- bin2asm |- check_prereq |- dexpreopt |- droiddoc |- fs_config |- fs_get_stats |- iself |- isprelinked |- k

8、cm |- lsd |- releasetools |- rgb2565 |- signapk |- soslim - zipalign dalvik目录 用于提供Android JAVA应用程序运行的基础JAVA虚拟机。 dalvik目录 dalvik虚拟机 . |- dalvikvm |- dexdump |- dexlist classes in a DEX file.) |- dexopt |- docs |- dvz |- dx |- hit |- libcore |- libcore-disabled |- libdex |- libnativehelper libraries)

9、|- tests |- tools - vm development目录 展开的一个级别的目录如下所示: development |- apps |- build |- cmds |- data dex反汇编) |- docs |- emulator |- host |- ide |- pdk |- samples |- simulator - tools 在emulator目录中qemud是使用QEMU仿真时目标机器运行的后台程序,skins是仿真时手机的界面。 samples中包含了很多Android简单工程,这些工程为开发者学习开发Android程序提供了很大便利,可以作为模板使用。 d

10、evelopment 目录 |- apps | |- BluetoothDebug | |- CustomLocale | |- Development | |- Fallback | |- FontLab | |- GestureBuilder | |- NinePatchLab | |- OBJViewer | |- SdkSetup | |- SpareParts | |- Term | - launchperf |- build |- cmds |- data |- docs |- host |- ide |- ndk |- pdk |- samples | |- AliasActiv

11、ity | |- ApiDemos | |- BluetoothChat | |- BrowserPlugin | |- BusinessCard | |- Compass | |- ContactManager | |- CubeLiveWallpaper | |- FixedGridLayout | |- GlobalTime | |- HelloActivity | |- Home | |- JetBoy | |- LunarLander | |- MailSync | |- MultiResolution | |- MySampleRss | |- NotePad | |- RSSRe

12、ader | |- SearchableDictionary | |- SimpleJNI | |- SkeletonApp | |- Snake | |- SoftKeyboard | |- Wiktionary | - WiktionarySimple |- scripts |- sdk |- simulator |- testrunner - tools external目录 android使用的一些开源的模组 展开的一个级别的目录如下所示: external/ |- aes |- apache-http |- bluez |- clearsilver |- dbus |- dhcpcd

13、 |- dropbear |- elfcopy |- elfutils |- emma |- esd |- expat |- fdlibm |- freetype |- gdata |- giflib |- googleclient |- icu4c |- iptables |- jdiff |- jhead |- jpeg |- libffi |- libpcap |- libpng |- libxml2 |- netcat |- netperf |- neven |- opencore |- openssl |- oprofile |- ping |- ppp |- protobuf |-

14、 qemu |- safe-iop |- skia |- sonivox |- sqlite |- srec |- strace |- tagsoup |- tcpdump |- tinyxml |- tremor |- webkit |- wpa_supplicant |- yaffs2 - zlib 在external中,每个目录表示Android目标系统中的一个模块,可能有一个或者若干个库构成。其中: opencore为PV,它是Android多媒体框架的核心。 webkit是Android网络浏览器的核心。 sqlite是Android数据库系统的核心。 openssl是Secure

15、Socket Layer,一个网络协议层,用于为数据通讯提供安全支持。 external 目录 . |- aes |- apache-http |- astl |- bison |- blktrace |- bluetooth |- bsdiff |- bzip2 |- clearsilver |- dbus |- dhcpcd |- dosfstools |- dropbear |- e2fsprogs |- elfcopy |- elfutils |- embunit |- emma |- esd |- expat |- fdlibm |- freetype |- fsck_msdos |

16、- gdata |- genext2fs |- giflib |- googleclient |- grub |- gtest |- icu4c |- ipsec-tools |- iptables |- jdiff |- jhead |- jpeg |- junit |- kernel-headers |- libffi |- libpcap |- libpng |- libxml2 |- mtpd |- netcat |- netperf |- neven |- opencore |- openssl |- openvpn |- oprofile |- ping |- ppp |- pro

17、guard |- protobuf |- qemu |- safe-iop |- skia |- sonivox |- speex |- sqlite |- srec |- strace |- svox |- tagsoup |- tcpdump |- tesseract |- tinyxml |- tremor |- webkit |- wpa_supplicant |- xmlwriter |- yaffs2 - zlib frameworks目录 核心框架java及C+语言? 展开的一个级别的目录如下所示: frameworks/ |- base |- opt - policies fr

18、ameworks是Android应用程序的框架。 frameworks 目录 . |- base | |- api | |- awt | |- build | |- camera | |- cmds | |- core | |- data | |- docs | |- graphics | |- include | |- keystore | |- libs | |- location | |- media | |- obex | |- opengl | |- packages | |- sax | |- services | |- telephony | |- test-runner | |

19、- tests | |- tools | |- vpn | - wifi |- opt | |- com.google.android | |- com.google.android.googlelogin | - emoji - policies - base |- mid - phone Hardware 是一些与硬件相关的库 部分厂家开源的硬解适配层HAL代码 hardware 目录 |- broadcom | - wlan |- libhardware | |- include | - modules | |- gralloc | - overlay |- libhardware_le

20、gacy | |- flashlight | |- gps | |- include | |- mount | |- power | |- qemu | |- qemu_tracing | |- tests | |- uevent | |- vibrator | - wifi |- msm7k | |- boot | |- libaudio | |- libaudio-qsd8k | |- libcamera | |- libcopybit | |- libgralloc | |- libgralloc-qsd8k | |- liblights | - librpc |- ril | |- i

21、nclude | |- libril | |- reference-cdma-sms | |- reference-ril | - rild - ti |- omap3 | |- dspbridge | |- libopencorehw | |- liboverlay | |- libstagefrighthw | - omx - wlan Out 编译完成后的代码输出与此目录 Kernel 是Linux2.6的源代码 packages目录 展开的两个级别的目录如下所示: packages/ |- apps | |- AlarmClock | |- Browser | |- Calculato

22、r | |- Calendar | |- Camera | |- Contacts | |- Email | |- GoogleSearch | |- HTMLViewer | |- IM | |- Launcher | |- Mms | |- Music | |- PackageInstaller | |- Phone | |- Settings | |- SoundRecorder | |- Stk | |- Sync | |- Updater | - VoiceDialer - providers |- CalendarProvider |- ContactsProvider |- Do

23、wnloadProvider |- DrmProvider |- GoogleContactsProvider |- GoogleSubscribedFeedsProvider |- ImProvider |- MediaProvider - TelephonyProvider packages中包含两个目录,其中apps中是Android中的各种应用程序,providers是一些内容提供者。 packages中两个目录的内容大都是使用JAVA编写的程序,各个文件夹的层次结构是类似的。 packages 目录 . |- apps | |- AlarmClock | |- Bluetooth |

24、 |- Browser | |- Calculator | |- Calendar | |- Camera | |- CertInstaller | |- Contacts | |- DeskClock | |- Email | |- Gallery | |- Gallery3D | |- GlobalSearch | |- GoogleSearch | |- HTMLViewer | |- IM | |- Launcher | |- Launcher2 | |- Mms | |- Music | |- PackageInstaller | |- Phone | |- Provision | |- Settings | |- SoundRecorder | |- Stk | |- Sync -1 | |- Updater | - VoiceDialer |- inputmethods | |- LatinIME | |- OpenW

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号