【摘錄】Android 2.1 源碼結構分析

來源:互聯網
上載者:User
Android 2.1 源碼結構分析 
Rockie Cheng 
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實現) 
|   |-- 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 (連絡人管理器) 
|   |-- 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 (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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.