Android的初始碼結構
Google提供的Android包含了初始Android的目標機程式碼,主機編譯工具、模擬環境,程式碼包經過解壓縮後,第一級別的目錄和檔案如下所示:
.
|-- Makefile (全域的Makefile)
|-- bionic (Android並沒有採用glibc作為C庫,而是採用了Google自己開發的Bionic Libc,它的官方Toolchain也是基於Bionic Libc而並非glibc的)
|-- bootloader (引導加載器)
|-- build (build目錄中的內容不是目標所用的程式碼,而是編譯和配置所需要的腳本和工具)
|-- dalvik (JAVA虛擬機)
|-- development(程式開發所需要的模組和工具)
|-- external (目標機器使用的一些函式庫,就是官方包的65個LIB)
|-- frameworks (應用程式的框架層)
|-- hardware (與硬體相關的函式庫)
|-- kernel (Linux2.6的初始碼)
|-- packages (Android的各種應用程式)
|-- prebuilt (Android在各種平台下編譯的預置腳本)
|-- recovery (與目標的恢復功能相關)
`-- system (Android的底層的一些函式庫)
重要檔案
build/
….
|-- core (各種以mk為結尾的檔案,它門是編譯所需要的Makefile)
|-- envsetup.sh (是一個在使用模擬器運行的時候,用於設置環境的程式檔)
|-- target (包含board和product兩個目錄,為目標所需要檔案)
`-- tools (編譯過程中主機所需要的工具,一些需要經過編譯生成)
其中,core中的Makefile是整個Android編譯所需要的真正的Makefile,它被頂層目錄的Makefile參照。
留言列表