AndroidSDK⽬录具体结构及Android源码的具体结构Android SDK⽬录具体结构
1. add-ons:这⾥⾯保存着附加库,⽐如Google Maps,当然你如果安装了OphoneSDK,这⾥也会有⼀些类库在⾥⾯。
2. docs:这⾥⾯是Android SDK API参考⽂档,所有的API都可以在这⾥查到。
3. market_licensing:作为AndroidMarket版权保护组件,⼀般发布付费应⽤到电⼦市场可以⽤它来反盗版。
4. platforms:是每个平台的SDK真正的⽂件,⾥⾯会根据API Level划分的SDK版本,这⾥就以Android 2.2来说,进⼊后有⼀个android-8的⽂件夹,android-8进⼊后是Android 2.2 SDK的主要⽂件,其中ant为ant编译脚本,data保存着⼀些系统资源,images是模拟器映像⽂件,skins则是Android模拟器的⽪肤,templates是⼯程创建的默认模板,android.jar则是该版本的主要framework⽂件,tools⽬录⾥⾯包含了重要的编译⼯具,⽐如aapt、aidl、逆向调试⼯具dexdump和编译脚本dx。
5. platform-tools:保存着⼀些通⽤⼯具,⽐如adb、和aapt、aidl、dx等⽂件,这⾥和platforms⽬录中tools⽂件夹有些重复,主要是从android 2.3开始这些⼯具被划分为通⽤了。
6. samples:是Android SDK⾃带的默认⽰例⼯程,⾥⾯的apidemos强烈推荐初学者运⾏学习,对于SQ
Lite数据库操作可以查看NotePad这个例⼦,对于游戏开发Snake、LunarLander都是不错的例⼦,对于Android主题开发Home则是android m5时代的主题设计原理。
7. tools:作为SDK根⽬录下的tools⽂件夹,这⾥包含了重要的⼯具,⽐如ddms⽤于启动Android调试⼯具,⽐如logcat、屏=幕截图和⽂件管理器,⽽draw9patch则是绘制android平台的可缩放png图⽚的⼯具,sqlite3可以在PC上操作SQLite数据库,⽽monkeyrunner则是⼀个不错的压⼒测试应⽤,模拟⽤户随机按键,mksdcard则是模拟器SD映像的创建⼯具,emulator是android模拟器主程序,不过从android1.5开始,需要输⼊合适的参数才能启动模拟器,traceview作为android平台上重要的调试⼯具。
8. usb_drive:顾名思义,保存着android平台google官⽅机型的驱动如nexus one、nexus s,同时也有⼀些⽼机型驱动的⽀持,⽐如说htc dream、htc magic和motorola的droid。
//新增或修改
10.system-images:模拟器映像⽂件,从android-14开始将模拟器映像⽂件整理在这⾥(原来放在platforms下)
12.sources:源码
Android源码的具体结构
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 ⽬录
|-- libc                        (C库)
|  |-- arch-arm        (ARM架构,包含系统调⽤汇编实现)
|  |-- arch-x86        (x86架构,包含系统调⽤汇编实现)
|  |-- bionic                (由C实现的功能,架构⽆关)
|  |-- docs                (⽂档)
|  |-- include                (头⽂件)
|  |-- inet                (?inet相关,具体作⽤不明)
|  |-- kernel                (Linux内核中的⼀些头⽂件)
|  |-- netbsd                (?nesbsd系统相关,具体作⽤不明)
|  |-- private                (?⼀些私有的头⽂件)
|  |-- stdio                (stdio实现)
|  |-- stdlib                (stdlib实现)
|  |-- 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                                (恢复脚本)
|-- minui                                (⼀个简单的UI)
|-- minzip                                (⼀个简单的压缩⼯具)
|-- mtdutils                        (mtd⼯具)
|-- res                                (资源)
|  `-- images                        (⼀些图⽚)
|-- tools                                (⼯具)
|  `-- ota                        (OTA Over The Air Updates升级⼯具)
`-- 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                        (预链接⼯具)
|-- bin2asm                (bin转换为asm⼯具)
|-- check_prereq        (检查编译时间戳⼯具)
|-- dexpreopt                (模拟器相关⼯具,具体功能不明)
|-- droiddoc                (?作⽤不明,java语⾔,⽹上有⼈说和JDK5有关)
|-- fs_config                (This program takes a list of files and directories)
|-- fs_get_stats                (获取⽂件系统状态)
|-- iself                        (判断是否ELF格式)
|-- isprelinked                (判断是否prelinked)
|-- kcm                        (按键相关)
|-- lsd                        (List symbol dependencies)
|-- releasetools                (⽣成镜像的⼯具及脚本)
|-- rgb2565                (rgb转换为565)
|-- signapk                (apk签名⼯具)
|-- soslim                        (strip⼯具)
`-- zipalign                (zip archive alignment tool)
dalvik⽬录 dalvik虚拟机
.
|-- dalvikvm                        (main.c的⽬录)
|-- dexdump                        (dex反汇编)
|-- dexlist                                (List all methods in all concrete classes in a DEX file.)|-- dexopt                                (预验证与优化)
|-- docs                                (⽂档)
|-- dvz                                (和zygote相关的⼀个命令)
|-- dx                                (dx⼯具,将多个java转换为dex)
|-- hit                                (?java语⾔写成)
|-- libcore                                (核⼼库)
|-- libcore-disabled                (?禁⽤的库)
|-- libdex                                (dex的库)
|-- libnativehelper                (Support functions for Android's class libraries)
|-- 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                                (Plug Development Kit)
|-- 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                                (⼀些⼯具)
androidsdk安装步骤external ⽬录
.
|-- aes                        (AES加密)
|-- apache-http                (⽹页服务器)
|-- astl                        (ASTL (Android STL) is a slimmed-down version of the regular C++ STL.)
|-- bison                        (⾃动⽣成语法分析器,将⽆关⽂法转换成C、C++)
|-- blktrace                (blktrace is a block layer IO tracing mechanism)
|-- bluetooth                (蓝⽛相关、协议栈)
|-- bsdiff                        (diff⼯具)
|-- bzip2                        (压缩⼯具)
|-- clearsilver                (html模板系统)
|-- dbus                        (低延时、低开销、⾼可⽤性的IPC机制)
|-- dhcpcd                (DHCP服务)
|-- dosfstools                (DOS⽂件系统⼯具)
|-- dropbear                (SSH2的server)
|-- e2fsprogs                (EXT2⽂件系统⼯具)
|-- elfcopy                (复制ELF的⼯具)
|-- elfutils                        (ELF⼯具)
|-- embunit                (Embedded Unit Project)
|-- emma                        (java代码覆盖率统计⼯具)
|-- esd                        (Enlightened Sound Daemon,将多种⾳频流混合在⼀个设备上播放)
|-- expat                        (Expat is a stream-oriented XML parser.)
|-- fdlibm                        (FDLIBM (Freely Distributable LIBM))
|-- freetype                (字体)
|-- fsck_msdos                (dos⽂件系统检查⼯具)
|-- gdata                        (google的⽆线数据相关)
|-- genext2fs                (genext2fs generates an ext2 filesystem as a normal (non-root) user)
|-- giflib                        (gif库)
|-- googleclient        (google⽤户库)
|-- grub                        (This is GNU GRUB, the GRand Unified Bootloader.)
|-- gtest                        (Google C++ Testing Framework)
|-- icu4c                        (ICU(International Component for Unicode)在C/C++下的版本)
|-- ipsec-tools                (This package provides a way to use the native IPsec functionality )
|-- iptables                (防⽕墙)
|-- jdiff                        (generate a report describing the difference between two public Java APIs.)|-- jhead                        (jpeg头部信息⼯具)
|-- jpeg                        (jpeg库)
|-- junit                        (JUnit是⼀个Java语⾔的单元测试框架)
|-- kernel-headers        (内核的⼀些头⽂件)
|-- libffi                        (libffi is a foreign function interface library.)
|-- libpcap                (⽹络数据包捕获函数)
|-- libpng                        (png库)
|-- libxml2                (xml解析库)
|-- mtpd                        (⼀个命令)
|-- netcat                        (simple Unix utility which reads and writes dataacross network connections)|-- netperf                        (⽹络性能测量⼯具)
|-- neven                        (看代码和JNI相关)
|-- opencore                (多媒体框架)
|-- openssl                (SSL加密相关)
|-- openvpn                (VPN开源库)
|-- oprofile                (OProfile是Linux内核⽀持的⼀种性能分析机制。)
|-- ping                        (ping命令)
|-- ppp                        (pppd拨号命令,好像还没有chat)
|-- proguard                (Java class file shrinker, optimizer, obfuscator, and preverifier)
|-- protobuf                (a flexible, efficient, automated mechanism for serializing structured data)|-- qemu                        (arm模拟器)
|-- safe-iop                (functions for performing safe integer operations )
|-- skia                        (skia图形引擎)
|-- sonivox                (sole MIDI solution for Google Android Mobile Phone Platform)
|-- speex                        (Speex编/解码API的使⽤(libspeex))
|-- sqlite                        (数据库)
|-- srec                        (Nuance 公司提供的开源连续⾮特定⼈语⾳识别)
|-- strace                        (trace⼯具)
|-- svox                        (Embedded Text-to-Speech)
|-- tagsoup                (TagSoup是⼀个Java开发符合SAX的HTML解析器)
|-- tcpdump                (抓TCP包的软件)
|-- tesseract                (Tesseract Open Source OCR Engine.)
|-- tinyxml                (TinyXml is a simple, small, C++ XML parser)
|-- tremor                        (I stream and file decoder provides an embeddable,integer-only library)|-- webkit                        (浏览器核⼼)
|-- wpa_supplicant        (⽆线⽹卡管理)
|-- xmlwriter                (XML 编辑⼯具)
|-- yaffs2                        (yaffs⽂件系统)
`-- zlib                        (a general purpose data compression library)
frameworks ⽬录(核⼼框架——java及C++语⾔)
.
|-- base                        (基本内容)
|  |-- api                (?都是xml⽂件,定义了java的api?)
|  |-- awt                (AWT库)
|  |-- build                (空的)
|  |-- camera                (摄像头服务程序库)
|  |-- cmds                (重要命令:am、app_proce等)
|  |-- core                (核⼼库)
|  |-- data                (字体和声⾳等数据⽂件)
|  |-- docs                (⽂档)
|  |-- graphics        (图形相关)
|  |-- include                (头⽂件)
|  |-- keystore        (和数据签名证书相关)
|  |-- libs                (库)
|  |-- location        (地区库)
|  |-- media                (媒体相关库)
|  |-- obex                (蓝⽛传输库)
|  |-- opengl                (2D-3D加速库)
|  |-- packages        (设置、TTS、VPN程序)
|  |-- sax                (XML解析器)
|  |-- services        (各种服务程序)
|  |-- telephony        (电话通讯管理)
|  |-- test-runner        (测试⼯具相关)
|  |-- tests                (各种测试)
|  |-- tools                (⼀些叫不上名的⼯具)
|  |-- vpn                (VPN)
|  `-- wifi                (⽆线⽹络)
|-- opt                        (可选部分)
|  |-- le.android                                (有个framework.jar)
|  |-- lelogin                (有个client.jar)
|  `-- emoji                (standard message elements)
`-- policies                (Product policies are operating system directions aimed at specific uses)    `-- base
|-- mid        (MID设备)
`-- phone        (⼿机类设备,⼀般⽤这个)
hardware ⽬录(部分⼚家开源的硬解适配层HAL代码)
|-- broadcom                        (博通公司)
|  `-- wlan                        (⽆线⽹卡)
|-- libhardware                        (硬件库)
|  |-- include                        (头⽂件)
|  `-- modules                (Default (and possibly architecture dependents) HAL modules)
|      |-- gralloc                (gralloc显⽰相关)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。