<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      Android系統架構與系統源碼目錄

      1.Android系統架構

      Android系統架構分為五層,從上到下依次是應用層、應用框架層、系統運行庫層、硬件抽象層和Linux內核層。 

      應用框架層(Java Framework)

      應用框架層為開發人員提供了可以開發應用程序所需要的API,我們平常開發應用程序都是調用的這一層所提供的API,當然也包括系統的應用。這一層的是由Java代碼編寫的,可以稱為Java Framework。下面來看這一層所提供的主要的組件。

      名稱功能描述
      Activity Manager(活動管理器) 管理各個應用程序生命周期以及通常的導航回退功能
      Location Manager(位置管理器) 提供地理位置以及定位功能服務
      Package Manager(包管理器) 管理所有安裝在Android系統中的應用程序
      Notification Manager(通知管理器) 使得應用程序可以在狀態欄中顯示自定義的提示信息
      Resource Manager(資源管理器) 提供應用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件等
      Telephony Manager(電話管理器) 管理所有的移動設備功能
      Window Manager(窗口管理器) 管理所有開啟的窗口程序
      Content Providers(內容提供器) 使得不同應用程序之間可以共享數據
      View System(視圖系統) 構建應用程序的基本組件

       

      表1

      2.Android系統源碼目錄

      我們要先了解Android系統源碼目錄,為后期源碼學習打下基礎。關于源碼的閱讀,你可以訪問http://androidxref.com/來閱讀系統源碼。當然,最好是將源碼下載下來。下載源碼可以使用清華大學開源軟件鏡像站提供的Android 鏡像:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 。如果覺得麻煩也可以查找國內的網盤進行下載,推薦使用該百度網盤地址下載:http://pan.baidu.com/s/1ngsZs,它提供了多個Android版本的的源碼下載。

      整體結構

      各個版本的源碼目錄基本是類似,如果是編譯后的源碼目錄會多增加一個out文件夾,用來存儲編譯產生的文件。Android7.0的根目錄結構說明如下表所示。

      Android源碼根目錄描述
      abi 應用程序二進制接口
      art 全新的ART運行環境
      bionic 系統C庫
      bootable 啟動引導相關代碼
      build 存放系統編譯規則及generic等基礎開發包配置
      cts Android兼容性測試套件標準
      dalvik dalvik虛擬機
      developers 開發者目錄
      development 應用程序開發相關
      device 設備相關配置
      docs 參考文檔目錄
      external 開源模組相關文件
      frameworks 應用程序框架,Android系統核心部分,由Java和C++編寫
      hardware 主要是硬件抽象層的代碼
      libcore 核心庫相關文件
      libnativehelper 動態庫,實現JNI庫的基礎
      ndk NDK相關代碼,幫助開發人員在應用程序中嵌入C/C++代碼
      out 編譯完成后代碼輸出在此目錄
      packages 應用程序包
      pdk Plug Development Kit 的縮寫,本地開發套件
      platform_testing 平臺測試
      prebuilts x86和arm架構下預編譯的一些資源
      sdk sdk和模擬器
      system 底層文件系統庫、應用和組件
      toolchain 工具鏈文件
      tools 工具文件
      Makefile 全局Makefile文件,用來定義編譯規則

       

      表3

      從表3可以看出,系統源碼分類清晰,并且內容龐大且復雜。接下來分析packages中的內容,也就是應用層部分。

      應用層部分

      應用層位于整個Android系統的最上層,開發者開發的應用程序以及系統內置的應用程序都是在應用層。源碼根目錄中的packages目錄對應著系統應用層。它的目錄結構如表4所示。

      packages目錄描述
      apps 核心應用程序
      experimental 第三方應用程序
      inputmethods 輸入法目錄
      providers 內容提供者目錄
      screensavers 屏幕保護
      services 通信服務
      wallpapers 墻紙

       

      表4

      從目錄結構可以發現,packages目錄存放著系統核心應用程序、第三方的應用程序和輸入法等等,這些應用都是運行在系統應用層的,因此packages目錄對應著系統的應用層。

      應用框架層部分

      應用框架層是系統的核心部分,一方面向上提供接口給應用層調用,另一方面向下與C/C++程序庫以及硬件抽象層等進行銜接。 應用框架層的主要實現代碼在/frameworks/base和/frameworks/av目錄下,其中/frameworks/base目錄結構如表5所示。

      /frameworks/base目錄描述/frameworks/base目錄描述
      api 定義API cmds 重要命令:am、app_proce等
      core 核心庫 data 字體和聲音等數據文件
      docs 文檔 graphics 圖形圖像相關
      include 頭文件 keystore 和數據簽名證書相關
      libs location 地理位置相關庫
      media 多媒體相關庫 native 本地庫
      nfc-extras NFC相關 obex 藍牙傳輸
      opengl 2D/3D 圖形API packages 設置、TTS、VPN程序
      sax XML解析器 services 系統服務
      telephony 電話通訊管理 test-runner 測試工具相關
      tests 測試相關 tools 工具
      wifi wifi無線網絡    

       

      表5

      C/C++程序庫部分

      系統運行庫層(Native)中的 C/C++程序庫的類型繁多,功能強大,C/C++程序庫并不完全在一個目錄中,這里給出幾個常用且比較重要的C/C++程序庫所在的目錄位置。

      目錄位置描述
      bionic/ Google開發的系統C庫,以BSD許可形式開源。
      /frameworks/av/media 系統媒體庫
      /frameworks/native/opengl 第三方圖形渲染庫
      /frameworks/native/services/surfaceflinger 圖形顯示庫,主要負責圖形的渲染、疊加和繪制等功能
      external/sqlite 輕量型關系數據庫SQLite的C++實現

       

      表6


      講完 C/C++程序庫部分,剩下的部分我們在表3已經給出:Android運行時庫的代碼放在art/目錄中。硬件抽象層的代碼在hardware/目錄中,這一部分是手機廠商改動最大的一部分,根據手機終端所采用的硬件平臺會有不同的實現。

      posted on 2016-10-22 18:21  安卓筆記俠  閱讀(777)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 波多野结衣在线精品视频| 亚洲乱码中文字幕久久孕妇黑人| 国产精品永久免费无遮挡| 99re热视频这里只精品| 精品一日韩美女性夜视频| 2020国产欧洲精品网站| 四虎影视一区二区精品| 亚洲精品专区永久免费区| 色成人亚洲| 久久天天躁狠狠躁夜夜躁| 免费看又黄又无码的网站| 国产午夜精品在人线播放| 人妻中文字幕亚洲精品| 免费人成网站视频在线观看 | 国产成人亚洲日韩欧美| 亚洲国产午夜福利精品| 成人福利一区二区视频在线| 国内精品免费久久久久电影院97| 日韩乱码卡一卡2卡三卡四| 男人猛躁进女人免费播放| 国产精品∧v在线观看| 阳东县| 熟女精品色一区二区三区| 少妇办公室好紧好爽再浪一点| 99欧美日本一区二区留学生| 中文字幕丰满伦子无码ab| 性XXXX视频播放免费直播| 久久精品青青大伊人av| 国内精品免费久久久久电影院97| 国产精品二区中文字幕| 精品无码一区在线观看| 成人免费看片又大又黄| 精品国产女同疯狂摩擦2| 亚洲人成色7777在线观看不卡| 国产精品中文字幕第一页| 日本黄页网站免费观看| 中文乱码字幕在线中文乱码 | 亚洲精品一区二区三区大桥未久| 粗壮挺进人妻水蜜桃成熟 | 国产乱码精品一区二三区| 国产精品一二二区视在线|