第一章 android體繫結構以及原始碼閱讀環境搭建

來源:互聯網
上載者:User

標籤:

轉載請標明出處: 

http://blog.csdn.net/yujun411522/article/details/46334057
本文出自:【yujun411522的部落格】




1.2 Android體繫結構

體繫結構按照兩種視角來分析:靜態和動態視角
1.2.1 靜態視角的體繫結構
可以分為四層application、application framework、lib和runtime、linux 核心1.app,可以理解為我們平常使用的app。包括系統的和第三方app,系統的包括Home(對,其實就是一個app)、Contacts連絡人、Alarm鬧鐘等等;第三方app就更多了,qq、、uc瀏覽器等等。這一層次主要使用java語言編寫。當然一些需要高效能部分,可以使用NDK開發,有必要看一下
2.Framework,包括為app開發提供API介面,為app提供可複用的組件,規範app的開發。這一層可以使用java和JNI實現,主要組件:
View System:app開發過程中都遇到過,各種UI控制項Button,textView,ListVIew等等。Content Provider:四大組件,不同app之間資料共用的介面Resource Manager:用來管理各種資源檔:layout,drawable,string等。Activity Manager:管理Activity的,很重要Window Manager:管理所有視窗,這裡的視窗可以是activity,dialog,menu等等。Package Manager:apk包管理器,比如查詢當前裝置安裝資訊 3 Lib和RunTime也稱為中介軟體,包括各種庫以及運行時環境庫:為framework層做支撐的,android系統內建的多媒體,瀏覽器,資料庫,圖形引擎都依靠這些lib的實現:
這一部分的作用是非常重要的,比如在開發瀏覽器裝置時,系統預設使用的是webkit(開源瀏覽器引擎);我們在使用Sqlite相關介面操作sqlite資料庫就需要sqlite庫的支援;對於遊戲開發來說openGL ES更是不可缺少。這些庫的存在不只是在android系統中,就像是一個第三方庫一樣,所以也成為中介軟體。
運行時環境:因為裡面涉及有java語言,就需要java運行環境。這裡使用的是為android系統開發的Dalvik虛擬機器(5.0版本之後有ART):
core Library:對j2se中重要的庫進行保留,並加入一些android特有的api。Dalvik VM:android中啟動並執行java虛擬機器。
4 Linux核心對硬體的管理。這部分內容太多。不做過多介紹
1.2.2動態視角體繫結構將android系統分成兩個空間:上層是使用者空間,下層是核心空間使用者控制項:可以分成兩個部分:Native子系統和Java子系統,兩者通過JNI串連在一起。Native子系統有NDK開發的app,架構層的native部分以及標準庫c/c++組成Java子系統有SDK開發的app,系統內建的app,架構層java部分以及java介面組成
核心空間:linux核心以及android擴充,其中android擴充部分有Binder,Logger,OOM等機制,這些都是非常重要的東西。
如何搭建下載、編譯環境不做介紹,網上有解決方案,如果官網下載有問題,可以訪問這裡android源碼百度網盤分享

































第一章 android體繫結構以及原始碼閱讀環境搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.