【网学网提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了Android 2.1 源码结构分析的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
Android2.1源码结构分析(1)
Android2.1源码结构分析
RockieCheng
Android2.1
|--Makefile
|--bionic(bionicC库)
|--bootable(启动引导相关代码)
|--build(存放系统编译规则及generic等基础开发包配置)
|--cts(Android兼容性测试套件标准)
|--dalvik(dalvikJAVA虚拟机)
|--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(OTAOverTheAirUpdates升级工具)
`--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(Thisprogramtakesalistoffilesanddirectories)
|--fs_get_stats(获取文件系统状态)
|--iself(判断是否ELF格式)
|--isprelinked(判断是否prelinked)
|--kcm(按键相关)
|--lsd(Listsymboldependencies)
|--releasetools(生成镜像的工具及脚本)
|--rgb2565(rgb转换为565)
|--signapk(apk签名工具)
|--soslim(strip工具)
`--zipalign(ziparchivealignmenttool)
dalvik目录dalvik虚拟机
.
|--dalvikvm(main.c的目录)
|--dexdump(dex反汇编)
|--dexlist(ListallmethodsinallconcreteclassesinaDEXfile.)
|--dexopt(预验证与优化)
|--docs(文档)
|--dvz(和zygote相关的一个命令)
|--dx(dx工具,将多个java转换为dex)
|--hit(?java语言写成)
|--libcore(核心库)
|--libcore-disabled(?禁用的库)
|--libdex(dex的库)
|--libnativehelper(SupportfunctionsforAndroid'sclasslibraries)
|--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(PlugDevelopmentKit)
|--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(AndroidSTL)isaslimmed-downversionoftheregularC++STL.)
|--bison(自动生成语法分析器,将无关文法转换成C、C++)
|--blktrace(blktraceisablocklayerIOtracingmechanism)
|--bluetooth(蓝牙相关、协议栈)
|--bsdiff(diff工具)
|--bzip2(压缩工具)
|--clearsilver(html
模板系统)
|--dbus(低延时、低开销、高可用性的IPC机制)
|--dhcpcd(DHCP服务)
|--dosfstools(DOS文件系统工具)
|--dropbear(SSH2的server)
|--e2fsprogs(EXT2文件系统工具)
|--elfcopy(复制ELF的工具)
|--elfutils(ELF工具)
|--embunit(EmbeddedUnitProject)
|--emma(java代码覆盖率统计工具)
|--esd(EnlightenedSoundDaemon,将多种音频流混合在一个设备上播放)
|--expat(Expatisastream-orientedXMLparser.)
|--fdlibm(FDLIBM(FreelyDistributableLIBM))
|--freetype(字体)
|--fsck_msdos(dos文件系统检查工具)
|--gdata(google的无线数据相关)
|--genext2fs(genext2fsgeneratesanext2filesystemasanormal(non-root)user)
|--giflib(gif库)
|--googleclient(google用户库)
|--grub(ThisisGNUGRUB,theGRandUnifiedBootloader.)
|--gtest(GoogleC++TestingFramework)
|--icu4c(ICU(InternationalCompone
ntforUnicode)在C/C++下的版本)
|--ipsec-tools(ThispackageprovidesawaytousethenativeIPsecfunctionality)
|--iptables(防火墙)
|--jdiff(generateareportdescribingthedifferencebetweentwopublicJavaAPIs.)
|--jhead(jpeg头部信息工具)
|--jpeg(jpeg库)
|--junit(JUnit是一个Java语言的单元测试框架)
|--kernel-headers(内核的一些头文件)
|--libffi(libffiisaforeignfunctioninterfacelibrary.)
|--libpcap(网络数据包捕获函数)
|--libpng(png库)
|--libxml2(xml解析库)
|--mtpd(一个命令)
|--netcat(simpleUnixutilitywhichreadsandwritesdataacrossnetworkconnections)
|--netperf(网络性能测量工具)
|--neven(看代码和JNI相关)
|--opencore(多媒体框架)
|--openssl(SSL加密相关)
|--openvpn(VPN开源库)
|--oprofile(OProfile是Linux内核支持的一种性能分析机制。)
|--ping(ping命令)
|--ppp(pppd拨号命令,好像还没有chat)
|--proguard(Javaclassfileshrinker,optimizer,obfuscator,andpreverifier)
|--protobuf(aflexible,efficient,automatedmechanismforserializingstructureddata)
|--qemu(arm模拟器)
|--safe-iop(functionsforperformingsafeintegeroperations)
|--skia(skia图形引擎)
|--sonivox(soleMIDIsolutionforGoogleAndroidMobilePhonePlatform)
|--speex(Speex编/解码API的使用(libspeex))
|--sqlite(数据库)
|--srec(Nuance公司提供的开源连续非特定人语音识别)
|--strace(trace工具)
|--svox(EmbeddedText-to-Speech)
|--tagsoup(TagSoup是一个Java开发符合SAX的HTML解析器)
|--tcpdump(抓TCP包的软件)
|--tesseract(TesseractOpenSourceOCREngine.)
|--tinyxml(TinyXmlisasimple,small,C++XMLparser)
|--tremor(Istreamandfiledecoderprovidesanembeddable,integer-onlylibrary)
|--webkit(浏览器核心)
|--wpa_supplicant(无线网卡管理)
|--xmlwriter(XML编辑工具)
|--yaffs2(yaffs文件系统)
`--zlib(ageneralpurposedatacompressionlibrary)