Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 源碼文件結構

Android 源碼文件結構

編輯:關於Android編程

Android 源碼根文件夾結構:

以下內容遵循這個命名: 文件夾名稱:釋意

 

bionic:android 中所使用的是標准C庫源文件,該項目將被編譯成靜態庫文件,這些庫文件僅在編譯其他C程序時使用,不會被輸出到最終設備中

bootable:二次引導程序源碼,對應NAND Flash的二次引導分區中的內容,這部分代碼不會被包含在最終的system.img或boot.img 文件中

build:編譯系統中樞,該目錄下的各種make腳本和shell腳本共同組成了android的編譯環境

cts:兼容測試代碼,基於android系統的手機如果需要google的認證,則必須經過google的兼容性測試,兼容性測試的目的是為了保證該設備具有標准的    SDK API接口

dalvik:android中的java虛擬機相關的源碼,虛擬機內部設計相關的文檔可以參考dalvik/docs目錄下的說明文檔

development:一些開發android工程所使用的相關配置或文件,如:一些.classpath文件

device:不同設備相關的編譯腳本文件,一個設備一般就是指一種型號的手機,如:     Htc magic、Nexus One、Nexus S 等等

external:android系統所依賴的一些外部庫文件,如:sqlite、opencore等,這些文件大部分都是c/c++代碼,也有少量的java庫

frameworks:Framework的內核源碼,主要由java文件組成

hardware:Android定義的硬件抽象層(HAL)       相關的文件

libcore:Dalvik虛擬機所依賴的java庫,如HashMap、ArrayList等,這些庫和Dailvik共同組成dailvik的java運行環境

ndk:Native Development Kit ,即編譯NDK所需的相關文件

packages:Android中的一些系統應用程序,比如Contacts、Phone等

prebuilt:編譯所需的程序文件,主要包含不同平台的ARM編譯器

sdk:編譯SDK所需的相關文件

system:Android底層的Linux所需的一些系統工具程序,這些程序主要運行於adb 、logcat等

tools:一些其他輔助工具,目前只有一個名稱為tradefederation的java項目

vendor:和device目錄中的程序共同定義一個設備所包含的私有文件,它與device目錄的區別在於,device主要定義了不同設備所需的特有文件,但卻是開源的,而vendor中包含的文件一般都是目標文件,卻不是開源的。

 

Android 源碼\out目錄結構:

out\target\product\generic\下有個system目錄(如果沒有generic這個目錄則是在項目名目錄下,如mtk的wtxxxxx),其包含內容簡介如下:

       \system\app
       這個裡面主要存放的是常規下載的應用程序,可以看到都是以APK格式結尾的文件,在這個文件夾下的程序為系統默認的組件,自己安裝的軟件將不會出現在這裡,而是\data\文件夾中。
       \system\app\AlarmClock.apk 鬧鐘
       \system\app\Browser.apk 浏覽器
       \system\app\Bugreport.apk Bug報告
       \system\app\Calculator.apk 計算器

       \system\bin
       這個目錄下的文件都是系統的本地程序,從bin文件夾名稱可以看出是binary二進制的程序,裡面主要是Linux系統自帶的組件:

       \system\bin\am
       \system\bin\app_process 系統進程
       \system\bin\dalvikvm Dalvik虛擬機宿主
       \system\bin\dbus-daemon 系統BUS總線監控
       \system\bin\debuggerd 調試器
       \system\bin\debug_tool 調試工具
       \system\bin\dexopt DEX選項
       \system\bin\dhcpcd DHCP服務器

       \system\etc
       從文件夾名稱來看保存的都是系統的配置文件,比如APN接入點設置等核心配置。
       \system\etc\apns-conf.xml APN接入點配置文件
       \system\etc\AudioFilter.csv 音頻過濾器配置文件
       \system\etc\AudioPara4.csv
       \system\etc\bookmarks.xml 書簽數據庫
       \system\etc\dbus.conf 總線監視配置文件

       \system\fonts
       字體文件夾,除了標准字體和粗體、斜體外可以看到文件體積最大的可能是中文字庫,或一些unicode字庫,從T-Mobile G1上可以清楚的看到顯示簡體中文正常,其中DroidSansFallback.ttf文件大小
       \system\fonts\DroidSans-Bold.ttf
       \system\fonts\DroidSans.ttf
       \system\fonts\DroidSansFallback.ttf
       \system\fonts\DroidSansMono.ttf

       \system\framework
       framework主要是一些核心的文件,從後綴名為jar可以看出是是系統平台框架。

       \system\framework\am.jar
       \system\framework\am.odex
       \system\framework\android.awt.jar AWT庫
       \system\framework\android.awt.odex

       \system\lib
       lib目錄中存放的主要是系統底層庫,如平台運行時庫。
       \system\lib\libaes.so
       \system\lib\libagl.so
       \system\lib\libandroid_runtime.so Android運行時庫
       \system\lib\libandroid_servers.so 系統服務組件
       \system\lib\libaudio.so 音頻處理
       \system\lib\libaudioeq.so EQ均衡器
       \system\lib\libaudioflinger.so 音頻過濾器
       \system\lib\libbluetooth.so 藍牙組件
       \system\lib\libc.so
       \system\lib\libcamera.so 超相機組件
       \system\lib\libcameraservice.so
       \system\lib\libcorecg.so
       \system\lib\libcrypto.so 加密組件

       \system\media
       鈴聲音樂文件夾,除了常規的鈴聲外還有一些系統提示事件音
       \system\media\audio
       \system\media\audio\alarms 鬧鈴音
       \system\media\audio\notifications 提示音
       \system\media\audio\ringtones 鈴聲
       \system\media\audio\ui 界面操作事件音

       \system\sounds
       默認的音樂測試文件,僅有一個test.mid文件,用於播放測試的文件。
       \system\sounds\test.mid
       \system\usr
       用戶文件夾,包含共享、鍵盤布局、時間區域文件等。
       \system\usr\keychars
       \system\usr\keylayout
       \system\usr\share
       \system\usr\srec

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved