Android 2.1 源碼結(jié)構(gòu)分析
Rockie Cheng
Android 2.1
|-- Makefile
|-- bionic (bionic C庫)
|-- bootable (啟動(dòng)引導(dǎo)相關(guān)代碼)
|-- build (存放系統(tǒng)編譯規(guī)則及generic等基礎(chǔ)開發(fā)包配置)
|-- cts (Android兼容性測(cè)試套件標(biāo)準(zhǔn))
|-- dalvik (dalvik JAVA虛擬機(jī))
|-- development (應(yīng)用程序開發(fā)相關(guān))
|-- external (android使用的一些開源的模組)
|-- frameworks (核心框架——java及C++語言)
|-- hardware (主要保護(hù)硬解適配層HAL代碼)
|-- out (編譯完成后的代碼輸出與此目錄)
|-- packages (應(yīng)用程序包)
|-- prebuilt (x86和arm架構(gòu)下預(yù)編譯的一些資源)
|-- sdk (sdk及模擬器)
|-- system (文件系統(tǒng)庫、應(yīng)用及組件——C語言)
`-- vendor (廠商定制代碼)
bionic 目錄
|-- libc (C庫)
| |-- arch-arm (ARM架構(gòu),包含系統(tǒng)調(diào)用匯編實(shí)現(xiàn))
| |-- arch-x86 (x86架構(gòu),包含系統(tǒng)調(diào)用匯編實(shí)現(xiàn))
| |-- bionic (由C實(shí)現(xiàn)的功能,架構(gòu)無關(guān))
| |-- docs (文檔)
| |-- include (頭文件)
| |-- inet (?inet相關(guān),具體作用不明)
| |-- kernel (Linux內(nèi)核中的一些頭文件)
| |-- netbsd (?nesbsd系統(tǒng)相關(guān),具體作用不明)
| |-- private (?一些私有的頭文件)
| |-- stdio (stdio實(shí)現(xiàn))
| |-- stdlib (stdlib實(shí)現(xiàn))
| |-- string (string函數(shù)實(shí)現(xiàn))
| |-- tools (幾個(gè)工具)
| |-- tzcode (時(shí)區(qū)相關(guān)代碼)
| |-- unistd (unistd實(shí)現(xiàn))
| `-- zoneinfo (時(shí)區(qū)信息)
|-- libdl (libdl實(shí)現(xiàn),dl是動(dòng)態(tài)鏈接,提供訪問動(dòng)態(tài)鏈接庫的功能)
|-- libm (libm數(shù)學(xué)庫的實(shí)現(xiàn),)
| |-- alpha (apaha架構(gòu))
| |-- amd64 (amd64架構(gòu))
| |-- arm (arm架構(gòu))
| |-- bsdsrc (?bsd的源碼)
| |-- i386 (i386架構(gòu))
| |-- i387 (i387架構(gòu)?)
| |-- ia64 (ia64架構(gòu))
| |-- include (頭文件)
| |-- man (數(shù)學(xué)函數(shù),后綴名為.3,一些為freeBSD的庫文件)
| |-- powerpc (powerpc架構(gòu))
| |-- sparc64 (sparc64架構(gòu))
| `-- src (源代碼)
|-- libstdc++ (libstdc++ C++實(shí)現(xiàn)庫)
| |-- include (頭文件)
| `-- src (源碼)
|-- libthread_db (多線程程序的調(diào)試器庫)
| `-- include (頭文件)
`-- linker (動(dòng)態(tài)鏈接器)
`-- arch (支持arm和x86兩種架構(gòu))
bootable 目錄
.
|-- bootloader (適合各種bootloader的通用代碼)
| `-- legacy (估計(jì)不能直接使用,可以參考)
| |-- arch_armv6 (V6架構(gòu),幾個(gè)簡單的匯編文件)
| |-- arch_msm7k (高通7k處理器架構(gòu)的幾個(gè)基本驅(qū)動(dòng))
| |-- include (通用頭文件和高通7k架構(gòu)頭文件)
| |-- libboot (啟動(dòng)庫,都寫得很簡單)
| |-- libc (一些常用的c函數(shù))
| |-- nandwrite (nandwirte函數(shù)實(shí)現(xiàn))
| `-- usbloader (usbloader實(shí)現(xiàn))
|-- diskinstaller (android鏡像打包器,x86可生產(chǎn)iso)
`-- recovery (系統(tǒng)恢復(fù)相關(guān))
|-- edify (升級(jí)腳本使用的edify腳本語言)
|-- etc (init.rc恢復(fù)腳本)
|-- minui (一個(gè)簡單的UI)
|-- minzip (一個(gè)簡單的壓縮工具)
|-- mtdutils (mtd工具)
|-- res (資源)
| `-- images (一些圖片)
|-- tools (工具)
| `-- ota (OTA Over The Air Updates升級(jí)工具)
`-- updater (升級(jí)器)
build目錄
.
|-- core (核心編譯規(guī)則)
|-- history (歷史記錄)
|-- libs
| `-- host (主機(jī)端庫,有android “cp”功能替換)
|-- target (目標(biāo)機(jī)編譯對(duì)象)
| |-- board (開發(fā)平臺(tái))
| | |-- emulator (模擬器)
| | |-- generic (通用)
| | |-- idea6410 (自己添加的)
| | `-- sim (最簡單)
| `-- product (開發(fā)平臺(tái)對(duì)應(yīng)的編譯規(guī)則)
| `-- security (密鑰相關(guān))
`-- tools (編譯中主機(jī)使用的工具及腳本)
|-- acp (Android "acp" Command)
|-- apicheck (api檢查工具)
|-- applypatch (補(bǔ)丁工具)
|-- apriori (預(yù)鏈接工具)
|-- atree (tree工具)
|-- bin2asm (bin轉(zhuǎn)換為asm工具)
|-- check_prereq (檢查編譯時(shí)間戳工具)
|-- dexpreopt (模擬器相關(guān)工具,具體功能不明)
|-- droiddoc (?作用不明,java語言,網(wǎng)上有人說和JDK5有關(guān))
|-- fs_config (This program takes a list of files and directories)
|-- fs_get_stats (獲取文件系統(tǒng)狀態(tài))
|-- iself (判斷是否ELF格式)
|-- isprelinked (判斷是否prelinked)
|-- kcm (按鍵相關(guān))
|-- lsd (List symbol dependencies)
|-- releasetools (生成鏡像的工具及腳本)
|-- rgb2565 (rgb轉(zhuǎn)換為565)
|-- signapk (apk簽名工具)
|-- soslim (strip工具)
`-- zipalign (zip archive alignment tool)
dalvik目錄 dalvik虛擬機(jī)
.
|-- dalvikvm (main.c的目錄)
|-- dexdump (dex反匯編)
|-- dexlist (List all methods in all concrete classes in a DEX file.)
|-- dexopt (預(yù)驗(yàn)證與優(yōu)化)
|-- docs (文檔)
|-- dvz (和zygote相關(guān)的一個(gè)命令)
|-- dx (dx工具,將多個(gè)java轉(zhuǎn)換為dex)
|-- hit (?java語言寫成)
|-- libcore (核心庫)
|-- libcore-disabled (?禁用的庫)
|-- libdex (dex的庫)
|-- libnativehelper (Support functions for Android's class libraries)
|-- tests (測(cè)試代碼)
|-- tools (工具)
`-- vm (虛擬機(jī)實(shí)現(xiàn))
development 目錄 (開發(fā)者需要的一些例程及工具)
|-- apps (一些核心應(yīng)用程序)
| |-- BluetoothDebug (藍(lán)牙調(diào)試程序)
| |-- CustomLocale (自定義區(qū)域設(shè)置)
| |-- Development (開發(fā))
| |-- Fallback (和語言相關(guān)的一個(gè)程序)
| |-- FontLab (字庫)
| |-- GestureBuilder (手勢(shì)動(dòng)作)
| |-- NinePatchLab (?)
| |-- OBJViewer (OBJ查看器)
| |-- SdkSetup (SDK安裝器)
| |-- SpareParts (高級(jí)設(shè)置)
| |-- Term (遠(yuǎn)程登錄)
| `-- launchperf (?)
|-- build (編譯腳本模板)
|-- cmds (有個(gè)monkey工具)
|-- data (配置數(shù)據(jù))
|-- docs (文檔)
|-- host (主機(jī)端USB驅(qū)動(dòng)等)
|-- ide (集成開發(fā)環(huán)境)
|-- ndk (本地開發(fā)套件——c語言開發(fā)套件)
|-- pdk (Plug Development Kit)
|-- samples (例程)
| |-- AliasActivity (?)
| |-- ApiDemos (API演示程序)
| |-- BluetoothChat (藍(lán)牙聊天)
| |-- BrowserPlugin (瀏覽器插件)
| |-- BusinessCard (商業(yè)卡)
| |-- Compass (指南針)
| |-- ContactManager (聯(lián)系人管理器)
| |-- CubeLiveWallpaper (動(dòng)態(tài)壁紙的一個(gè)簡單例程)
| |-- FixedGridLayout (像是布局)
| |-- GlobalTime (全球時(shí)間)
| |-- HelloActivity (Hello)
| |-- Home (Home)
| |-- JetBoy (jetBoy游戲)
| |-- LunarLander (貌似又是一個(gè)游戲)
| |-- MailSync (郵件同步)
| |-- MultiResolution (多分辨率)
| |-- MySampleRss (RSS)
| |-- NotePad (記事本)
| |-- RSSReader (RSS閱讀器)
| |-- SearchableDictionary (目錄搜索)
| |-- SimpleJNI (JNI例程)
| |-- SkeletonApp (空殼APP)
| |-- Snake (snake程序)
| |-- SoftKeyboard (軟鍵盤)
| |-- Wiktionary (?維基)
| `-- WiktionarySimple(?維基例程)
|-- scripts (腳本)
|-- sdk (sdk配置)
|-- simulator (?模擬器)
|-- testrunner (?測(cè)試用)
`-- tools (一些工具)
external 目錄
.
|-- aes (AES加密)
|-- apache-http (網(wǎng)頁服務(wù)器)
|-- astl (ASTL (Android STL) is a slimmed-down version of the regular C++ STL.)
|-- bison (自動(dòng)生成語法分析器,將無關(guān)文法轉(zhuǎn)換成C、C++)
|-- blktrace (blktrace is a block layer IO tracing mechanism)
|-- bluetooth (藍(lán)牙相關(guān)、協(xié)議棧)
|-- bsdiff (diff工具)
|-- bzip2 (壓縮工具)
|-- clearsilver (html模板系統(tǒng))
|-- dbus (低延時(shí)、低開銷、高可用性的IPC機(jī)制)
|-- dhcpcd (DHCP服務(wù))
|-- dosfstools (DOS文件系統(tǒng)工具)
|-- dropbear (SSH2的server)
|-- e2fsprogs (EXT2文件系統(tǒng)工具)
|-- elfcopy (復(fù)制ELF的工具)
|-- elfutils (ELF工具)
|-- embunit (Embedded Unit Project)
|-- emma (java代碼覆蓋率統(tǒng)計(jì)工具)
|-- esd (Enlightened Sound Daemon,將多種音頻流混合在一個(gè)設(shè)備上播放)
|-- expat (Expat is a stream-oriented XML parser.)
|-- fdlibm (FDLIBM (Freely Distributable LIBM))
|-- freetype (字體)
|-- fsck_msdos (dos文件系統(tǒng)檢查工具)
|-- gdata (google的無線數(shù)據(jù)相關(guān))
|-- 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是一個(gè)Java語言的單元測(cè)試框架)
|-- kernel-headers (內(nèi)核的一些頭文件)
|-- libffi (libffi is a foreign function interface library.)
|-- libpcap (網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù))
|-- libpng (png庫)
|-- libxml2 (xml解析庫)
|-- mtpd (一個(gè)命令)
|-- netcat (simple Unix utility which reads and writes dataacross network connections)
|-- netperf (網(wǎng)絡(luò)性能測(cè)量工具)
|-- neven (看代碼和JNI相關(guān))
|-- opencore (多媒體框架)
|-- openssl (SSL加密相關(guān))
|-- openvpn (VPN開源庫)
|-- oprofile (OProfile是Linux內(nèi)核支持的一種性能分析機(jī)制。)
|-- ping (ping命令)
|-- ppp (pppd撥號(hào)命令,好像還沒有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 (數(shù)據(jù)庫)
|-- srec (Nuance 公司提供的開源連續(xù)非特定人語音識(shí)別)
|-- strace (trace工具)
|-- svox (Embedded Text-to-Speech)
|-- tagsoup (TagSoup是一個(gè)Java開發(fā)符合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 (無線網(wǎng)卡管理)
|-- xmlwriter (XML 編輯工具)
|-- yaffs2 (yaffs文件系統(tǒng))
`-- zlib (a general purpose data compression library)
聯(lián)系客服