Android的源代码结构

顶层目录:
. |-- bionic (Android系统的基础类库) |-- bootable (启动引导源码) |-- build (编译和配置所需的脚本和工具) |-- dalvik (java虚拟机) |-- development (开发应用程序所需的模板和工具) |-- external (目标机器使用的库) |-- frameworks (应用程序框架层) |-- hardware (与硬件相关的库) |-- kernel (linux-2.6.xx内核) |-- out (编译后生成的目录,包含构建文件系统所需的文件) |-- packages (Android的各种应用程序) |-- prebuilt   (Android在各种平台下编译的预置脚本) |-- system (Android的底层库) `-- vendor     (针对不同平台的内核编译脚本) 

 

bionic目录:

 

. |-- Android.mk |-- libc (C库) | |-- Android.mk | |-- CAVEATS | |-- Jamfile | |-- MODULE_LICENSE_BSD | |-- NOTICE | |-- README | |-- SYSCALLS.TXT | |-- arch-arm (arm架构的代码,包含系统调用的汇编实现) | |-- arch-x86 (x86架构的代码,包含系统调用的汇编实现) | |-- bionic (与架构无关的c代码) | |-- docs | |-- include | |-- inet | |-- kernel  (Linux内核的一些头文件) | |-- netbsd | |-- private | |-- stdio        (stdio实现) | |-- stdlib        (stdlib实现) | |-- string        (string函数实现) | |-- tools | |-- tzcode | |-- unistd        (与时区相关的代码) | `-- zoneinfo      (时区信息) |-- libdl           (libdl实现,dl是动态链接,提供访问动态链接库的功能) | |-- Android.mk | |-- MODULE_LICENSE_BSD | |-- NOTICE | |-- dltest.c | `-- libdl.c |-- libm (libm数学库的实现) | |-- Android.mk | |-- MODULE_LICENSE_BSD_LIKE | |-- Makefile-orig | |-- NOTICE | |-- alpha (apaha结构) | |-- amd64 (arm64架构) | |-- arm (arm架构) | |-- bsdsrc | |-- fpclassify.c | |-- i386 | |-- i387 | |-- ia64 | |-- include | |-- isinf.c | |-- man | |-- powerpc (powerpc架构) | |-- sparc64 (sparc64架构) | `-- src |-- libstdc++ (libstdC++ C++实现库) | |-- Android.mk | |-- MODULE_LICENSE_BSD | |-- NOTICE | |-- include | `-- src |-- libthread_db (多线程程序的调试器库) | |-- Android.mk | |-- MODULE_LICENSE_BSD | |-- NOTICE | |-- include | `-- libthread_db.c `-- linker (动态连接器) |-- Android.mk |-- MODULE_LICENSE_APACHE2 |-- NOTICE |-- arch |-- ba.c |-- ba.h |-- debugger.c |-- dlfcn.c |-- linker.c |-- linker.h |-- linker_debug.h `-- rt.c  

 

bootloader目录:

. |-- bootloader (适合各种bootloader的通用代码) | `-- legacy |-- diskinstaller (android镜像打包器,在x86平台下生成iso) | |-- Android.mk | |-- config.mk | |-- editdisklbl | |-- init.rc | |-- installer.c | |-- installer.conf | |-- installer.h | |-- installer_img_layout.conf | `-- libdiskconfig `-- recovery (与系统恢复相关) |-- Android.mk |-- NOTICE |-- amend |-- bootloader.c |-- bootloader.h |-- commands.c |-- commands.h |-- common.h |-- etc (init.rc恢复脚本) |-- firmware.c |-- firmware.h |-- install.c |-- install.h |-- minui (一个简单的UI) |-- minzip (一个简单的压缩工具) |-- mtdutils |-- recovery.c |-- res |-- roots.c |-- roots.h |-- test_roots.c |-- tools |-- ui.c |-- verifier.c `-- verifier.h  

 

build目录:

. |-- buildspec.mk.default |-- cleanspec.mk |-- core (核心的编译规则) | |-- Makefile | |-- apicheck_msg_current.txt | |-- apicheck_msg_last.txt | |-- armelf.x | |-- armelf.xsc | |-- armelflib.x | |-- base_rules.mk | |-- binary.mk | |-- build-system.html | |-- build_id.mk | |-- checktree | |-- cleanbuild.mk | |-- clear_vars.mk | |-- combo | |-- config.mk | |-- config.mk~ | |-- copy_headers.mk | |-- definitions.mk | |-- device.mk | |-- distdir.mk | |-- droiddoc.mk | |-- dynamic_binary.mk | |-- envsetup.mk | |-- executable.mk | |-- filter_symbols.sh | |-- find-jdk-tools-jar.sh | |-- host_executable.mk | |-- host_java_library.mk | |-- host_prebuilt.mk | |-- host_shared_library.mk | |-- host_static_library.mk | |-- java.mk | |-- java_library.mk | |-- key_char_map.mk | |-- main.mk | |-- multi_prebuilt.mk | |-- node_fns.mk | |-- notice_files.mk | |-- package.mk | |-- pathmap.mk | |-- prebuilt.mk | |-- prelink-linux-arm.map | |-- process_wrapper.sh | |-- process_wrapper_gdb.cmds | |-- process_wrapper_gdb.sh | |-- product.mk | |-- product_config.mk | |-- raw_executable.mk | |-- raw_static_library.mk | |-- root.mk | |-- shared_library.mk | |-- static_java_library.mk | |-- static_library.mk | |-- tasks | `-- version_defaults.mk |-- envsetup.sh |-- history (历史记录) | `-- cupcake.txt |-- libs | `-- host |-- target (目标机编译对象) | |-- board (开发平台) | `-- product (开发平台对应的编译规则) `-- tools (编译时主机使用的工具和脚本) |-- acp |-- apicheck (api检查工具) |-- applypatch        (补丁工具) |-- apriori          (预链接工具) |-- atree           (tree工具) |-- bin2asm          (bin转换为asm的工具) |-- buildinfo.sh |-- check_builds.sh  |-- check_prereq       (检查编译时间戳的工具) |-- compare_fileslist.py |-- dexpreopt |-- droiddoc |-- dump-package-stats |-- fileslist.py |-- findleaves.sh |-- fixlinebreaks.sh |-- fs_config |-- fs_get_stats       (获取文件系统的状态) |-- iself           (判断是否为elf格式) |-- isprelinked |-- kcm            (与按键相关) |-- lsd |-- mktarball.sh |-- print_module_licenses.sh |-- releasetools       (生成镜像文件的工具和脚本) |-- rgb2565          (rgb转换为565) |-- signapk          (apk签名工具) |-- soslim           (strip工具) `-- zipalign  

 

dalvik目录:

. |-- Android.mk |-- MODULE_LICENSE_APACHE2 |-- NOTICE |-- README.txt |-- dalvikvm             (main.c的目录) |-- dexdump              (dex反编译) |-- dexlist |-- dexopt              (预验证与优化) |-- docs |-- dvz |-- dx |-- hit |-- libcore              (核心库) |-- libcore-disabled |-- libdex |-- libnativehelper |-- run-core-tests.sh |-- tests               (测试代码) |-- tools `-- vm                 (虚拟机实现)  

 

development目录:

. |-- Cerberus | |-- Android.mk | |-- Android.mk~ | |-- main.c | `-- main.c~ |-- apps              (一些核心的应用程序) | |-- CustomLocale       (自定义区域设置) | |-- Development | |-- Fallback         (和语言相关的程序) | |-- FontLab          (字库) | |-- OBJViewer         (obj查看器) | |-- SdkSetup          (sdk安装器) | |-- SpareParts        (高级设置) | |-- Term            (远程登录) | `-- launchperf |-- build (编译脚本模版) | |-- Android.mk | |-- sdk-darwin-x86.atree | |-- sdk-linux-x86.atree | |-- sdk.atree | |-- sdk.exclude.atree | `-- tools |-- cmds (monkey工具) | `-- monkey |-- data (数据配置) | `-- etc |-- docs | |-- SDK_RELEASE_NOTES | |-- howto_build_SDK.txt | `-- howto_use_cupcake_sdk.txt |-- emulator | |-- keymaps | |-- mksdcard | |-- qemud | |-- qtools | |-- sensors | `-- skins |-- host          | |-- Android.mk | `-- windows |-- ide              (集成开发环境) | |-- eclipse | |-- intellij | `-- xcode |-- pdk (插件开发工具包) | |-- Pdk.mk | |-- README | |-- docs | |-- doxygen_config | |-- hosting | |-- ndk | `-- sample |-- samples (例程) | |-- AliasActivity | |-- ApiDemos (API演示程序) | |-- Compass (指南针) | |-- GlobalTime (全球时间) | |-- HelloActivity (Hello) | |-- Home (Home) | |-- JetBoy (JetBoy游戏) | |-- LunarLander | |-- MailSync (邮件同步) | |-- MySampleRss (RSS) | |-- NotePad (记事本) | |-- PlatformLibrary | |-- RSSReader (RSS阅读器) | |-- SimpleJNI (JNI例程) | |-- SkeletonApp (空壳APP) | |-- Snake (Snake游戏) | `-- SoftKeyboard (软键盘) |-- simulator | |-- app | `-- wrapsim |-- testrunner | |-- Android.mk | |-- adb_interface.py | |-- am_instrument_parser.py | |-- android_build.py | |-- coverage.py | |-- coverage_targets.py | |-- coverage_targets.xml | |-- errors.py | |-- logger.py | |-- run_command.py | |-- runtest.py | |-- test_defs.py | `-- test_defs.xml `-- tools |-- androidprefs |-- anttasks |-- apkbuilder |-- axl |-- ddms |-- draw9patch |-- dumpeventlog |-- eclipse |-- eventanalyzer |-- findunused |-- hierarchyviewer |-- idegen |-- jarutils |-- jdwpspy |-- layoutlib_utils |-- line_endings |-- makedict |-- mkstubs |-- ninepatch |-- runtest |-- screenshot |-- scripts |-- sdkmanager |-- sdkstats |-- traceview `-- zoneinfo  

 

external目录:

. |-- aes (ASE加密) |-- apache-http (网页服务器) |-- bison (自动生成语法分析器,将无关文法转换为C,C++) |-- bluez |-- bsdiff (diff工具) |-- bzip2 (压缩工具) |-- clearsilver (html模板系统) |-- dbus (低延时,低开销,高可用性的IPC机制) |-- dhcpcd (DHCP服务) |-- dosfstools (DOS文件系统工具) |-- dropbear (SSH2的服务器) |-- e2fsprogs (EXT2文件系统工具) |-- elfcopy (ELF复制工具) |-- elfutils (ELF工具) |-- embunit |-- emma (Java代码覆盖率统计工具) |-- esd (将多种音频流混合在一个设备上播放) |-- expat |-- fdlibm |-- freetype (字体) |-- gdata (google的无线数据) |-- genext2fs |-- giflib (gif库) |-- googleclient (google用户库) |-- grub |-- icu4c |-- iptables (防火墙) |-- jdiff |-- jhead (jpeg头部信息工具) |-- jpeg (jpeg库) |-- libffi |-- libpcap (网络数据包捕获函数) |-- libpng (png库) |-- libxml2 (xml解析库) |-- netcat |-- netperf (网络性能测试工具) |-- neven |-- opencore (多媒体框架) |-- openssl (SSL加密) |-- oprofile |-- ping |-- ppp |-- protobuf |-- qemu (ARM模拟器) |-- safe-iop |-- skia (SKIA图像引擎) |-- sonivox |-- sqlite (数据库) |-- srec |-- strace (调试跟踪工具) |-- tagsoup |-- tcpdump (TCP抓包软件) |-- tinyxml |-- tremor |-- webkit (浏览器核心) |-- wpa_supplicant (无线网卡管理) |-- xdelta3 |-- yaffs2 (yaffs文件系统) `-- zlib  

 

 

 

 

你可能感兴趣的:(Android)