- 論壇徽章:
- 0
|
Android源代碼目錄結(jié)構(gòu)
作者:華嵌長沙中心講師 周龍
早期的android源代碼目錄,包含內(nèi)核、bootloader等,現(xiàn)在已經(jīng)沒有包含這些了,最新版本(4.4)主要包含如下目錄:
bionic:
Android C 庫; android沒有用glibc, 而且基于BSD-derived 源代碼開發(fā)出 Bionic。這個目錄主要包含了C庫、math、以及其他核心運行庫的實現(xiàn)代碼。
bootable:
啟動及引導(dǎo)相關(guān)的代碼; 還包含了android fastboot協(xié)議的實現(xiàn)。
build:
這個目錄包含了android 編譯系統(tǒng)的實現(xiàn),包含了所有核心makefile模塊及腳本,以及envsetup.sh(這個腳本主要用來設(shè)置android編譯環(huán)境)。
dalvik:
Dalvik Virtual Machine(android 的java虛擬機(jī))的實現(xiàn)。
development:
包含與開發(fā)相關(guān)的項目(如sdk、ndk)源代碼。
device:
與具體產(chǎn)品相關(guān)的代碼及配置文件等,比如特定產(chǎn)品的編譯配置文件、硬件相碰的模塊代碼等等。
external:
包含外部的第三方開源項目的源代碼,比如SDLite, jpeg, libogg, …
frameworks:
包含android frameworks的實現(xiàn)代碼; 以及關(guān)鍵服務(wù)(比如System Server, Activity managers等)的實現(xiàn),以及java 應(yīng)用API與本地庫之間的映射。
hardware:
硬件相關(guān)源代碼,以及包含android硬件抽象層(HAL層:Hardware Abstraction Layer)協(xié)議及源碼實現(xiàn)。
packages:
包含默認(rèn)的android應(yīng)用程序比如聯(lián)系人、日歷、瀏覽器等等。
prebuilts:
包含預(yù)編譯的二進(jìn)制程序,如arm-eabi-gcc等
system:
包含android核心系統(tǒng)的源碼實現(xiàn),以及init進(jìn)程的源碼實現(xiàn)及init.rc 腳本。實際上這個目錄包含的是一個最小的linux根文件系統(tǒng)的實現(xiàn),這個系統(tǒng)是在android虛擬機(jī)及基本java服務(wù)跑起來前運行。
out:
這個目錄包含android編譯輸出結(jié)果,包括中間文件和最終映像文件。
out/host/ 包含運行在主機(jī)上面的程序及文件;
out/target/product/ 包含在最終產(chǎn)品上運行的程序及文件。
未完.,待續(xù)...... |
|