1. 程式人生 > >Android原始碼 目錄結構分析

Android原始碼 目錄結構分析

Google提供的Android包含了原始android的目標機程式碼,主機編譯工具、模擬環境,下載的程式碼包經過解壓後(這裡是Android2.2的原始碼包),原始碼的第一層目錄結構如下:
|– Makefile
|– bionic (bionic C庫)
|– bootable (啟動引導相關程式碼)
|– build (存放系統編譯規則及generic等基礎開發包配置)
|– cts (Android相容性測試套件標準)
|– dalvik (dalvik Java虛擬機器)
|– development (應用程式開發相關)
|– external (android使用的一些開源的模組)
|– frameworks (核心框架——java及C++語言)
|– hardware (主要保護硬解適配層HAL程式碼)
|– libcore
|– ndk
|– device
|– out (編譯完成後的程式碼輸出與此目錄)
|– packages (應用程式包)
|– prebuilt (x86和arm架構下預編譯的一些資源)
|– sdk (sdk及模擬器)
|– system (檔案系統庫、應用及元件——C語言)
`– vendor (廠商定製程式碼)

bionic 目錄

|– libc (C庫)
| |– arch-arm (ARM架構,包含系統調用匯編實現)
| |– arch-x86 (x86架構,包含系統調用匯編實現)
| |– bionic (由C實現的功能,架構無關)
| |– docs (文件)
| |– include (標頭檔案)
| |– inet
| |– kernel (Linux核心中的一些標頭檔案)
| |– netbsd (?netbsd系統相關,具體作用不明)
| |– 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 (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 (預連結工具)
|-- atree (tree工具)
|-- 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 (聯絡人管理器)
| |-- CubeLiveWall** (動態桌布的一個簡單例程)
| |-- FixedGridLayout (像是佈局)
| |-- GlobalTime (全球時間)
| |-- HelloActivity (Hello)
| |-- Home (Home)
| |-- JetBoy (jetBoy遊戲)
| |-- LunarLander (貌似又是一個遊戲)
| |-- MailSync (郵件同步)
| |-- MultiResolution (多解析度)
| |-- MySampleRss (RSS)
| |-- NotePad (記事本)
| |-- RSSReader (RSS閱讀器)
| |-- SearchableDictionary (目錄搜尋)
| |-- **JNI (JNI例程)
| |-- SkeletonApp (空殼APP)
| |-- Snake (snake程式)
| |-- SoftKeyboard (軟鍵盤)
| |-- Wiktionary (?維基)
|
– Wiktionary**(?維基例程)
|– scripts (指令碼)
|– sdk (sdk配置)
|– simulator (?模擬器)
|– testrunner (?測試用)
`– tools (一些工具)

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 inte**ce library.)
|– libpcap (網路資料包捕獲函式)
|– libpng (png庫)
|– libxml2 (xml解析庫)
|– mtpd (一個命令)
|– netcat (** 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 **, 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 (可選部分)
| |-- com.google.android (有個framework.jar)
| |-- com.google.android.googlelogin (有個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顯示相關)
|
– overlay (Skeleton for the “overlay” HAL module.)
|– libhardware_legacy (舊的硬體庫)
| |– flashlight (背光)
| |– gps (GPS)
| |– include (標頭檔案)
| |– mount (舊的掛載器)
| |– power (電源)
| |– qemu (模擬器)
| |– qemu_tracing (模擬器跟蹤)
| |– tests (測試)
| |– uevent (uevent)
| |– vibrator (震動)
| -- wifi (無線)
|-- msm7k (高通7k處理器開源抽象層)
| |-- boot (啟動)
| |-- libaudio (聲音庫)
| |-- libaudio-qsd8k (qsd8k的聲音相關庫)
| |-- libcamera (攝像頭庫)
| |-- libcopybit (copybit庫)
| |-- libgralloc (gralloc庫)
| |-- libgralloc-qsd8k (qsd8k的gralloc庫)
| |-- liblights (背光庫)
|
– librpc (RPC庫)
|– ril (無線電抽象層)
| |– include (標頭檔案)
| |– libril (庫)
| |– reference-cdma-sms (cdma簡訊參考)
| |– reference-ril (ril參考)
| -- rild (ril後臺服務程式)
– ti (ti公司開源HAL)
|– omap3 (omap3處理器)
| |– dspbridge (DSP橋)
| |– libopencorehw (opencore硬體庫)
| |– liboverlay (overlay硬體庫)
| |– libstagefrighthw (stagefright硬體庫)
| -- omx (omx元件)
– wlan (無線網絡卡)

prebuilt 目錄 (x86和arm架構下預編譯的一些資源)
.
|– android-arm (arm-android相關)
| |– gdbserver (gdb偵錯程式)
| -- kernel (模擬的arm核心)
|-- android-x86 (x86-android相關)
|
– kernel (空的)
|– common (通用編譯好的程式碼,應該是java的)
|– darwin-x86 (drawin x86平臺)
| -- toolchain (工具鏈)
| |-- arm-eabi-4.2.1
| |-- arm-eabi-4.3.1
|
– arm-eabi-4.4.0
|– darwin-x86_64 (drawin x86 64bit平臺)
|– linux-x86 (linux x86平臺)
| -- toolchain (工具鏈,我們應該主要用這個)
| |-- arm-eabi-4.2.1
| |-- arm-eabi-4.3.1
| |-- arm-eabi-4.4.0
|
– i686-unknown-linux-gnu-4.2.1 (x86版編譯器)
|– linux-x86_64 (linux x86 64bit平臺)
|– windows (windows平臺)
`– windows-x86_64 (64bit windows平臺)

system 目錄 (底層檔案系統庫、應用及元件——C語言)
.
|– Bluetooth (藍芽相關)
|– core (系統核心工具盒介面)
| |– adb (adb除錯工具)
| |– cpio (cpio工具,建立img)
| |– debuggerd (除錯工具)
| |– fastboot (快速啟動相關)
| |– include (系統介面標頭檔案)
| |– init (init程式原始碼)
| |– libacc (輕量級C編譯器)
| |– libctest (libc測試相關)
| |– libcutils (libc工具)
| |– liblog (log庫)
| |– libmincrypt (加密庫)
| |– libnetutils (網路工具庫)
| |– libpixelflinger (圖形處理庫)
| |– libsysutils (系統工具庫)
| |– libzipfile (zip庫)
| |– logcat (檢視log工具)
| |– logwrapper (log封裝工具)
| |– mkbootimg (製作啟動boot.img的工具盒指令碼)
| |– netcfg (網路配置netcfg原始碼)
| |– nexus (google最新手機的程式碼)
| |– rootdir (rootfs,包含一些etc下的指令碼和配置)
| |– sh (shell程式碼)
| |– toolbox (toolbox,類似busybox的工具集)
| -- vold (SD卡管理器)
|-- extras (額外工具)
| |-- latencytop (a tool for software developers ,identifying system latency happen)
| |-- libpagemap (pagemap庫)
| |-- librank (Java Library Ranking System庫)
| |-- procmem (pagemap相關)
| |-- procrank (Java Library Ranking System相關)
| |-- showmap (showmap工具)
| |-- showslab (showslab工具)
| |-- sound (聲音相關)
| |-- su (su命令原始碼)
| |-- tests (一些測試工具)
|
– timeinfo (時區相關)
-- wlan (無線相關)
– ti (ti網絡卡相關工具及庫)

packages 目錄
.
|– apps (應用程式庫)
| |– AlarmClock (鬧鐘)
| |– Bluetooth (藍芽)
| |– Browser (瀏覽器)
| |– Calculator (計算器)
| |– Calendar (日曆)
| |– Camera (相機)
| |– CertInstaller (在Android中安裝數字簽名,被呼叫)
| |– Contacts (撥號(呼叫)、聯絡人、通話記錄)
| |– DeskClock (桌面時鐘)
| |– Email (Email)
| |– Gallery (相簿,和Camera類似,多了列表)
| |– Gallery3D (3D相簿)
| |– GlobalSearch (為google搜尋服務,提供底層應用)
| |– GoogleSearch (google搜尋)
| |– HTMLViewer (瀏覽器附屬介面,被瀏覽器應用呼叫,同時提供儲存記錄功能)
| |– IM (即時通訊,為手機提供訊號傳送、接收、通訊的服務)
| |– Launcher (登陸啟動項,顯示圖片框架等等圖形介面)
| |– Launcher2 (登陸啟動項,負責應用的呼叫)
| |– Mms (彩信業務)
| |– Music (音樂播放器)
| |– PackageInstaller (安裝、解除安裝程式的響應)
| |– Phone (電話撥號程式)
| |– Provision (預設應用的狀態,使能應用)
| |– Settings (開機設定,包括電量、藍芽、裝置資訊、介面、wifi等)
| |– SoundRecorder (錄音機,可計算儲存所需空間和時間)
| |– Stk (接收和傳送簡訊)
| |– Sync (空) ——-○1
| |– Updater (空)
| -- VoiceDialer (語音識別通話)
|-- inputmethods (輸入法)
| |-- LatinIME (拉丁文輸入法)
| |-- OpenWnn (OpenWnn輸入法)
|
– PinyinIME (拼音輸入法)
|– providers (提供器,提供應用程式、介面所需的資料)
| |– ApplicationsProvider (應用程式提供器,提供應用程式啟動項、更新等)
| |– CalendarProvider (日曆提供器)
| |– ContactsProvider (聯絡人提供器)
| |– DownloadProvider (下載管理提供器)
| |– DrmProvider (建立和更新資料庫時呼叫)
| |– GoogleContactsProvider (聯絡人提供器的子類,用以同步聯絡人)
| |– GoogleSubscribedFeedsProvider(設定資訊提供器)
| |– ImProvider (空)
| |– ManagementProvider (空)
| |– MediaProvider (媒體提供器,提供儲存資料)
| |– TelephonyProvider (彩信提供器)
| |– UserDictionaryProvider (使用者字典提供器,提供使用者常用字字典)
| -- WebSearchProvider (空)
|-- services
| |-- EasService (空)
|
– LockAndWipe (空)
-- wall**s (牆紙)
|-- Basic (基本牆紙,系統內建牆紙)
|-- LivePicker (選擇動態桌布)
|-- MagicSmoke (桌布特殊效果)
– MusicVisualization (音樂視覺化,圖形隨音樂而變化)

vendor 目錄 (廠家定製內容)
|– aosp (android open source project)
| -- products (一些板級規則)
|-- htc (HTC公司)
| |-- common-open (通用部分)
| |
– akmd (解壓img用的工具)
| |– dream-open (G1開放部分)
| |– prebuilt-open (預編譯開放部分)
| -- sapphire-open (sapphire這款型號開放內容)
|-- pv-open (沒東西)
|-- qcom (裡面基本是空的)
– sample (google提供的樣例)
|– apps (應用)
| |– client (使用者)
| -- upgrade (升級)
|-- frameworks (框架)
|
– PlatformLibrary (平臺庫)
|– products (產品)
|– sdk_addon (sdk新增部分)
-- skins (面板)
– WVGAMedDpi (WVGA適用的圖片)

SDK和OUT目錄沒有列出

(4)ROM結構
對於HD2來說,其ROM(不論模擬還是直刷)主要由initrd、zImage、system組成。
這三個部分,對於熟悉Linux的人來說應該並不陌生。
initrd負責的就是啟動,其本質就是一個臨時的系統,在引導時使用。(呵呵,話說開機最初那五花八門的開機第一二屏就在這裡,比如第一個直刷ROM的那個灰底DFT……)
zImage即為Linux核心映象,所謂的Android基於Linux核心,事實上也就是基於它。
在直刷中,很多大大通常把這兩項單獨打包成boot.img,也就是統成為引導映象。(這兩部分將在後面有機會時詳細介紹)

至於常出現的system.img、system.bin、system.ext2,即為system。
對應的就是那些原生機的卡刷用的update.zip中的system目錄,這裡面的一切成就了Android的各種特性。
在這部分,先只重點分析一下system目錄結構(從別處剪了剪放過來,所以這裡涵蓋不全,而且不同系統由於有各自的定製,內容不相同)
(提前補充,使用者安裝程式會存在data目錄,sd卡被掛載在sdcard目錄):

system/app
–在這個資料夾下的程式為系統預設的元件,可以看到都是以APK格式結尾的檔案,但有些自制的ROM裡面還有和APK檔名對應的odex檔案。
\system\app\AlarmClock.apk 鬧鐘
\system\app\Browser.apk瀏覽器
\system\app\Bugreport.apk Bug報告
\system\app\Calculator.apk 計算器
\system\app\Calendar.apk 日曆
\system\app\CalendarProvider.apk 日曆提供
\system\app\Camera.apk 照相機
\system\app\com.amazon.mp3.apk 亞馬遜音樂
\system\app\Contacts.apk聯絡人
\system\app\DownloadProvider.apk下載提供
\system\app\DrmProvider.apk DRM數字版權提供
\system\app\Email.apk 電子郵件客戶端
\system\app\FieldTest.apk 測試程式
\system\app\GDataFeedsProvider.apkGoogleData提供
\system\app\Gmail.apk Gmail電子郵件
\system\app\GmailProvider.apk Gmail提供
\system\app\GoogleApps.apk谷歌程式包
\system\app\GoogleSearch.apk 搜尋工具
\system\app\gtalkservice.apk GTalk服務
\system\app\HTMLViewer.apk HTML檢視器
\system\app\HtcTwitter.apk 整合Twitter客戶端PEEP
\system\app\IM.apk 即使通訊元件包含MSN、yahoo通
\system\app\ImCredentialProvider.apk
\system\app\ImProvider.apk
\system\app\Launcher.apk 啟動載入器
\system\app\HtcNaviPanel.apk導航軟體
\system\app\Maps.apk 電子地圖
\system\app\MediaProvider.apk 多媒體播放提供
\system\app\Mms.apk簡訊、彩信
\system\app\Music.apk 音樂播放器
\system\app\MyFaves.apk T-Mobile MyFaves程式
\system\app\NewsReader.apk 新聞閱讀器
\system\app\PackageInstaller.apk apk安裝程式
\system\app\Phone.apk電話撥號器
\system\app\Settings.apk 系統設定
\system\app\SettingsProvider.apk 設定提供
\system\app\SetupWizard.apk 設定嚮導
\system\app\SoundRecorder.apk 錄音工具
\system\app\Street.apk 街景地圖
\system\app\Sync.apk 同步程式
\system\app\Talk.apk 語音程式
\system\app\TelephonyProvider.apk 電話提供
\system\app\Updater.apk 更新程式
\system\app\VpnServices.apk VPN服務
\system\app\Vending.apk 製造商資訊
\system\app\VoiceDialer.apk 語音撥號器
\system\app\VoiceSearch.apk 語音搜尋
\system\app\YouTube.apk Youtube視訊

\system\bin
這個目錄下的檔案都是系統的本地程式,裡面主要是Linux系統自帶的元件:
\system\bin\akmd
\system\bin\am
\system\bin\app_process 系統程序
\system\bin\dalvikvm Dalvik虛擬機器宿主
\system\bin\dbus-daemon 系統BUS匯流排監控
\system\bin\debuggerd 偵錯程式
\system\bin\debug_tool 除錯工具
\system\bin\dexopt DEX選項
\system\bin\dhcpcd DHCP伺服器
\system\bin\dumpstate 狀態抓取器
\system\bin\dumpsys 系統抓取器
\system\bin\dvz
\system\bin\fillup
\system\bin\flash_image 快閃記憶體映像
\system\bin\hciattach
\system\bin\hcid HCID核心
\system\bin\hostapd
\system\bin\hostapd_cli
\system\bin\htclogkernel
\system\bin\input
\system\bin\installd
\system\bin\itr
\system\bin\linker
\system\bin\logcat Logcat日誌列印
\system\bin\logwrapper
\system\bin\mediaserver
\system\bin\monkey
\system\bin\mountd 儲存掛載器
\system\bin\netcfg 網路設定
\system\bin\ping Ping程式
\system\bin\playmp3 MP3播放器
\system\bin\pm 包管理器
\system\bin\qemud QEMU虛擬機器
\system\bin\radiooptions 無線選項
\system\bin\rild RIL元件
\system\bin\sdptool
\system\bin\sdutil
\system\bin\service
\system\bin\servicemanager 服務管理器
\system\bin\sh
\system\bin\ssltest SSL測試
\system\bin\su**ceflinger 觸控感應驅動
\system\bin\svc 服務
\system\bin\system_server
\system\bin\telnetd Telnet元件
\system\bin\toolbox
\system\bin\wlan_loader
\system\bin\wpa_cli
\system\bin\wpa_supplicant

\system\etc
從資料夾名稱來看儲存的都是系統的配置檔案,比如APN接入點設定等核心配置。
\system\etc\apns-conf.xml APN接入點配置檔案
\system\etc\AudioFilter.csv 音訊過濾器配置檔案
\system\etc\AudioPara4.csv
\system\etc\bookmarks.xml 書籤資料庫
\system\etc\dbus.conf 匯流排監視配置檔案
\system\etc\dhcpcd
\system\etc\event-log-tags
\system\etc\favorites.xml 收藏夾
\system\etc\firmware韌體資訊
\system\etc\gps.confGPS設定檔案
\system\etc\hcid.conf核心HCID配置檔案
\system\etc\hosts 網路DNS快取
\system\etc\init.goldfish.sh
\system\etc\location 定位相關
\system\etc\mountd.conf 儲存掛載配置檔案
\system\etc\NOTICE.html提示網頁
\system\etc\permissions.xml 許可權許可
\system\etc\pvplayer.conf
\system\etc\security
\system\etc\wifi WLAN相關元件
\system\etc\location\gps
\system\etc\location\gps\location 定位相關
\system\etc\location\gps\nmea GPS資料解析
\system\etc\location\gps\properties
\system\etc\security\cacerts.bks
\system\etc\security\otacerts.zip OTA下載驗證
\system\etc\wifi\Fw1251r1c.bin
\system\etc\wifi\tiwlan.ini
\system\etc\wifi\wpa_supplicant.conf WPA驗證元件

\system\fonts
字型資料夾
\system\fonts\DroidSans-Bold.ttf
\system\fonts\DroidSans.ttf
\system\fonts\DroidSansFallback.ttf
\system\fonts\DroidSansMono.ttf
\system\fonts\DroidSerif-Bold.ttf
\system\fonts\DroidSerif-BoldItalic.ttf
\system\fonts\DroidSerif-Italic.ttf
\system\fonts\DroidSerif-Regular.ttf

\system\framework
framework主要是系統平臺框架
\system\framework\am.jar
\system\framework\am.odex
\system\framework\android.awt.jar AWT庫
\system\framework\android.awt.odex
\system\framework\android.policy.jar
\system\framework\android.policy.odex
\system\framework\android.test.runner.jar
\system\framework\android.test.runner.odex
\system\framework\com.google.android.gtalkservice.jar GTalk服務
\system\framework\com.google.android.gtalkservice.odex
\system\framework\com.google.android.maps.jar 電子地相簿
\system\framework\com.google.android.maps.odex
\system\framework\core.jar 核心庫,啟動桌面時首先載入這個
\system\framework\core.odex
\system\framework\ext.jar
\system\framework\ext.odex
\system\framework\framework-res.apk
\system\framework\framework-tests.jar
\system\framework\framework-tests.odex
\system\framework\framework.jar
\system\framework\framework.odex
\system\framework\input.jar 輸入庫
\system\framework\input.odex
\system\framework\itr.jar
\system\framework\itr.odex
\system\framework\monkey.jar
\system\framework\monkey.odex
\system\framework\pm.jar 包管理庫
\system\framework\pm.odex
\system\framework\services.jar
\system\framework\services.odex
\system\framework\ssltest.jar
\system\framework\ssltest.odex
\system\framework\svc.jar 系統服務
\system\framework\svc.odex

\system\lib
lib目錄中存放的主要是系統底層庫,如平臺執行時庫。
\system\lib\libaes.so
\system\lib\libagl.so
\system\lib\libandroid_runtime.soAndroid執行時庫
\system\lib\libandroid_servers.so 系統服務元件
\system\lib\libaudio.so 音訊處理
\system\lib\libaudioeq.so EQ均衡器
\system\lib\libaudioflinger.so 音訊過濾器
\system\lib\libbluetooth.so藍芽元件
\system\lib\libc.so
\system\lib\libcamera.so 超相機元件
\system\lib\libcameraservice.so
\system\lib\libcorecg.so
\system\lib\libcrypto.so 加密元件
\system\lib\libdrm1.so DRM解析庫

\system\media
媒體資料夾,除了常規的鈴聲外還有一些系統提示事件音以及開機動畫(bootanimation.zip)等
\system\media\audio
\system\media\audio\alarms 鬧鈴音
\system\media\audio\notifications 提示音
\system\media\audio\ringtones 鈴聲
\system\media\audio\ui 介面操作事件音

\system\sounds
預設的音樂測試檔案,僅有一個test.mid檔案,用於播放測試的檔案。
\system\sounds\test.mid

\system\usr
使用者資料夾,包含共享、鍵盤佈局、時間區域檔案等。
\system\usr\keychars
\system\usr\keylayout
\system\usr\share
\system\usr\srec