星期三, 5月 16, 2012

Android 原始碼目錄結構

Android 原始碼目錄結構:
    |– Makefile(整體最上層的Makefile)
    |– bionic(Android 的基礎函式庫如 C Standard Library, Thread Library 等)
    |– bootable(可開機的工具: boot loader, disk installer, recovery)
    |– build (編譯和配置所需要的腳本和工具)
      |– buildspec.mk.default
      |– cleanspec.mk
      |– core (各種以mk為結尾的文件,是編譯所需要的 Makefile)
      |– envsetup.sh (設置環境的腳本)
      |– libs
      |– target(包含board和product兩個目錄,產生*.img的一些預設規則)
      |– tools(編譯過程中主機所需要的工具,一些需要經過編譯生成)
    |– dalvik(JAVA虛擬機)
    |– development (程序開發所需要的模板和工具)
      |– apps (Android應用程序的範本)
      |– build(編譯腳本範本)
      |– cmds
      |– data
      |– docs
      |– emulator (模擬器相關檔案文件)
      |– host (包含windows平台的一些工具)
      |– ide
      |– pdk
      |– samples (Android的簡單範例程式)
      |– simulator
      |– tools
    |– external(目標機器使用的一些函式庫)
    /*Note: 每個目錄表示Android系統中的一個module,可能由一個或者多個函式庫所構成。*/
      |- opencore (PacketVideo,Android多媒體框架的核心)
      |- webkit (瀏覽器)
      |- sqlite (資料庫)
      |- openssl (Secure Socket Layer,網路加密協議層)
    |– frameworks(應用程式的框架層)
    |– hardware(與硬體相關的函式庫)
    |– linux-2.6.29(Linux 2.6.29的source code )
    |– packages(Android的各種應用程式)
      |- apps(存放Android中的各種內建應用程式)
      |- providers (其他第三方廠商所提供的內容)
    |– prebuilt(Android在各種平台下編譯的預置腳本)
    |– system(Android底層的系統interface和tools)
      |-- bluetooth (Bluetooth相關)
      |-- core (系統核心工具和interface)
      |-- adb (adb工具,用於debug通訊)
      |-- cpio (cpio工具,用於create *.img)
      |-- debuggerd (debug工具)
      |-- fastboot ( 快速啟動相關)
      |-- include
      |-- init (Linux 初始化程式,就是根目錄下init的source code)
      |-- libctest (libc的測試)
      |-- libcutils (libc的工具)
      |-- mkbootimg (製作boot.img的工具和腳本)
      |-- mountd
      |-- netcfg
      |-- rootdir
      |-- sh (shell的source code)
      |-- toolbox (toolbox,類似busybox的工具集)
      |-- …
      |-- extras
    |– vendor(第三方廠商所提供的檔案)

沒有留言: