Android 源碼檔案結構

來源:互聯網
上載者:User

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.