|
簡介
在使用Andriod SDK進行應用程序開發的時候,我們需要對源代碼進行調試,有可能需要進入到某個Android API函數內部進行跟蹤調試。但是,如果目標版本的SDK沒有關聯對應版本的源代碼的話,就會提示你找不到源代碼。
圖:找不到Android源碼的提示
我們都知道Android系統是一個開源工程,在網上可以下載到源代碼。一般在網上搜索一下,就會找到各種下載源代碼的方法,比如使用Git和Repo,Android源代碼下載的網址是http://Android.git.kernel.org/。關于利用Git下載Android源代碼的方法,我就不再贅述了,因為網上的方法很多,這里給出一個參考鏈接Windows平臺下Android源碼的下載。
如果你跟我一樣是初學者,相信看了上面的文章,你就知道如何使用Git下載Android源碼了。但是,看著http://Android.git.kernel.org/ 站點下的各種目錄和文件,相信你也會跟我一樣傻眼,不知道那個目錄下的文件對應是什么代碼,想找到自己所需要的東西都比較難了。所以這里給大家介紹一下Android源代碼的結構,如果發現文章有錯誤之處,還請各位童鞋輕點砸磚!
圖:http://Android.git.kernel.org/ 下紛繁復雜的文件
認識Android源代碼結構之前,先來再熟悉一下Android的系統架構吧!Android系統架構被分為四層,自下而上分別是:Linux操作系統及驅動層、本地框架和Java運行環境、Java框架、Java應用層。每一層的具體介紹在此就略過了。
圖:Android系統架構
認識Android源代碼結構
Android代碼的工程分為3個部分,在打開http://Android.git.kernel.org/ 后看到的,就是Android源代碼的根目錄。(建議:打開這個網站后,對照學習以下內容)
- 核心工程(Core Project):建立Android 系統的基礎,在根目錄的各個文件夾中。
- 擴展工程(External Project):使用其他開源項目擴展的功能,在external 文件夾中。
- 包(Package):提供Android 的應用程序和服務,在package 文件夾中。
1、Android 的核心工程
Android 的核心工程包含了對Android系統基本運行的支持,以及Android系統的編譯系統,工程的內容如下表:
工程名稱 | 工程描述 |
bionic | [Build 系統] C運行時支持:libc、libm、libdl、動態linker |
bootloader/legacy | Bootloader 參考代碼 (內核加載器,在內核運行之前運行) |
build | [Build 系統] Build系統 |
dalvik | Dalvik虛擬機 |
delelopment | 高層的開發和調試工具 |
framework/base | Android 核心的框架庫 |
framework/policies/base | 框架配置策略 |
hardware/libhardware | 硬件抽象層庫 |
hardware/ril | 無線接口層(Radio Interface Layer) |
kernel | Linux 內核 |
prebuilt | [預編譯內核] 對Linux 和 Mac OS 編譯的二進制支持 |
system/core | 最小化可啟動的環境 |
system/extras | 底層調試和檢查工具 |
it知識庫:Android 源代碼結構,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。