1android源碼系統(tǒng)框架系統(tǒng)應(yīng)用開發(fā)流程
《1android源碼系統(tǒng)框架系統(tǒng)應(yīng)用開發(fā)流程》由會(huì)員分享,可在線閱讀,更多相關(guān)《1android源碼系統(tǒng)框架系統(tǒng)應(yīng)用開發(fā)流程(35頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、landroid源碼系統(tǒng)框架、 系統(tǒng)應(yīng)用 開發(fā)流程 瀏處MjU:學(xué)院 信息與智能工程系 系統(tǒng)移植與驅(qū)動(dòng)開發(fā) 內(nèi)容一:源代碼開發(fā)環(huán)境的構(gòu)建 源代碼系統(tǒng)架構(gòu)、 應(yīng)用開發(fā)流程 一、系統(tǒng)架構(gòu) 二、的子系統(tǒng) 三、的開發(fā)方式 、開發(fā)環(huán)境的搭建 五、 為什么要移植 六、 移植的概念和方法 —、系統(tǒng)架構(gòu) 1是一個(gè)包括操作系統(tǒng),中間件和關(guān)鍵應(yīng)用的移動(dòng)設(shè)備軟件 堆。 2?作為一個(gè)開源的軟件,包含了眾多的功能和龐大的代碼, 他的代碼基于。 系統(tǒng)架構(gòu)圖 系統(tǒng)架構(gòu)圖 主程序P 聯(lián)系人卍
2、瀏覽器 小部件" 你的應(yīng)用程序 應(yīng)用程序和小部件? 應(yīng)用程序框架, 活動(dòng)管理器 窗口管理器 內(nèi)容提供者 視圖系統(tǒng), 通知管理器 軟件包管理器 電話管理器 資源管理器 位置管理器 傳感器管理器 庫』 Android運(yùn)行時(shí)a 界面管理器 媒體框架 SQLite 核心庫 OpenGL ES FreeType WebKit Dalvik虛擬機(jī) SGb SSL" libc Linux內(nèi)核p 顯示驅(qū)動(dòng)程序 I > 藍(lán)牙驅(qū)動(dòng)程序? 鍵盤驅(qū)動(dòng)程厚 USB驅(qū)動(dòng)程序 相機(jī)驅(qū)動(dòng)程序?閃存卡驅(qū)動(dòng)程序
3、 WiFi驅(qū)動(dòng)程序 音頻驅(qū)動(dòng)程厚 應(yīng)用程序 平臺(tái) 第三層框架 本地和接口 第二層本地框 架和運(yùn)行環(huán)境 內(nèi)核空間和用戶接口 操作系統(tǒng)及驅(qū)動(dòng) C 軟件架構(gòu)(?) ?系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從 架構(gòu)圖看,系統(tǒng)架構(gòu)分為四個(gè)層,從高層到低層分別 為 ?應(yīng)用程序?qū)印? ?應(yīng)用程序框架層、 ?系統(tǒng)運(yùn)行庫層 ?核心層。 應(yīng)用程序?qū)? ?勰包鑼芻用麟程警爲(wèi)該疆, 獺用囂綁程序等。所有的應(yīng)用程序 應(yīng)用程序框架 ?開發(fā)人員可以完全訪問核心應(yīng)用程序所使用的框架。 ?隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括: ?豐富而又可擴(kuò)展的視圖(),可以用
4、來構(gòu)建應(yīng)用程序,它包括列表(), 網(wǎng)格(),文本框(),按鈕(),甚至可嵌入的瀏覽器。 ?內(nèi)容提供器()使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系 人數(shù)據(jù)庫),或者共享它們自己的數(shù)據(jù) ?資源管理器()提供非代碼資源的訪問,如本地字符串,圖形,和布局 文件()。 ?通知管理器()使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。 ?活動(dòng)管理器()用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功 能。有關(guān)更多的細(xì)節(jié)和怎樣從頭寫一個(gè)應(yīng)用程序,請(qǐng)參考如何編寫一個(gè) 應(yīng)用程序. 系統(tǒng)運(yùn)行庫 ?系統(tǒng)架構(gòu)包含一些庫,這些庫能被系統(tǒng)中不同的組件使用。它們通過 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是
5、一些核心庫: ?系統(tǒng)C庫:一個(gè)從繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(),它是專門為基于 的設(shè)備定制的。 ?媒體庫:基于;該庫支持多種常用的音頻、視頻格式回放和錄制,同時(shí) 支持靜態(tài)圖像文件。編碼格式包括4, H.264, 3,,,,。 ?:對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提供了2D和3D圖層的無 纟融合。 ?: 一個(gè)最新的瀏覽器引擎用,支持瀏覽器和一個(gè)可嵌入的視圖。 ?:底層的2D圖形引擎 ? 3D :基于1.0實(shí)現(xiàn);該庫可以使用硬件3D加速(如果可用)或者使用 高度優(yōu)化的3D軟加速。 ? ■位圖()和矢量()字體顯不。 ? ■一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫引擎
6、。 運(yùn)行庫 ?系統(tǒng)架構(gòu)包括了一個(gè)核心庫,該核心庫提供了編程語 言核心庫的大多數(shù)功能。每一個(gè)應(yīng)用程序都在它自己 的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的虛擬機(jī)實(shí)例。被設(shè) 計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。虛 擬機(jī)執(zhí)行()的可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存 使用做了優(yōu)化。 ?同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由編譯器 編譯,然后通過中的2工具轉(zhuǎn)化成格式由虛擬機(jī)執(zhí)行。 虛擬機(jī)依賴于內(nèi)核的一些功能,比如線程機(jī)制和底層 內(nèi)存管理機(jī)制。 內(nèi)核 ?的核心系統(tǒng)服務(wù)依賴于2.6內(nèi)核,如安全性,內(nèi)存管 理,進(jìn)程管理,網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型。內(nèi)核也同時(shí) 作為硬件和軟件棧之間的抽象層。 系統(tǒng)架構(gòu)圖
7、1?的第一層是有C語言實(shí)現(xiàn),第二層由C和實(shí)現(xiàn),第3、4層主 要是有實(shí)現(xiàn)的。 2?第1、2層之間,從的操作系統(tǒng)的角度來看,是由內(nèi)核和用戶 空間的分界線, 3?第2、3層之間是本地代碼層和代碼層的接口。 4?第3、4層之間,是的系統(tǒng)的接口。 5?第一層運(yùn)行與內(nèi)核空間,第2、3、4運(yùn)行與用戶空間。 系統(tǒng)架構(gòu)圖 的操作系統(tǒng):包括2.6內(nèi)核,包括安全性、內(nèi)存管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū) 動(dòng)模型,內(nèi)核也同時(shí)作為硬件和軟軟件系統(tǒng)之間的抽象層。 本地庫:包括庫,這些庫可以被系統(tǒng)中不同的組件使用,他們通過應(yīng) 用程序?yàn)殚_發(fā)者提供服務(wù)。 運(yùn)行環(huán)境:為的運(yùn)行環(huán)境,提供了編程語言的核心庫的大所數(shù)功能, 由虛擬機(jī)
8、和基礎(chǔ)的類庫組成,是中使用的虛擬機(jī),被設(shè)計(jì)成可以同時(shí)高效 的運(yùn)行多個(gè)虛擬機(jī)實(shí)例的虛擬系統(tǒng)。 應(yīng)用框架:包含4中基本的組件,活動(dòng)、服務(wù)、廣播接收器、內(nèi)容提供 者,豐富的控件等。 應(yīng)用程序:由語言編寫,核心應(yīng)用程序和系統(tǒng)一起發(fā)布,包括桌面、電 話、郵件、日歷、瀏覽器、電話簿等。 系統(tǒng)API 預(yù)置Java應(yīng)用程序 應(yīng)用包 第三應(yīng)用程序 Java框架 框架層內(nèi)容 JAVA核心機(jī) JIN 各個(gè)本地庫 Dalvik虛擬機(jī) C程序框架 硬件抽象層 用戶空間 移植工作 標(biāo)準(zhǔn)Linux內(nèi)核 Android的內(nèi)核組件 各個(gè)設(shè)備驅(qū)動(dòng) 內(nèi)核空間 硬件系統(tǒng) 硬件系統(tǒng) 框架庫
9、 資源包 服務(wù)庫 應(yīng)用包 補(bǔ)充知識(shí)運(yùn)行庫 系統(tǒng)架構(gòu)包括了一個(gè)核心庫,該核心庫提供了編程語言核心庫的大 多數(shù)功能。每一個(gè)應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú) 立的虛擬機(jī)實(shí)例。被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系 統(tǒng)。虛擬機(jī)執(zhí)行()的可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了 優(yōu)化。 同時(shí)虛擬機(jī)是基于寄存器的,所有的類都經(jīng)由編譯器編譯,然后通 過中的“工具轉(zhuǎn)化成格式由虛擬機(jī)執(zhí)行。虛擬機(jī)依賴于內(nèi)核的一些功 能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。 三、為什么要移植 1 ?開發(fā)方式:
10、的開發(fā)方式有兩種: 基于的開發(fā),使用提供的進(jìn)行開發(fā),的中包括含有系統(tǒng)下層的二進(jìn)制映 像、模擬器及相關(guān)工具,在和系統(tǒng)中使用環(huán)境進(jìn)行應(yīng)用程程序的開發(fā)。這種 開發(fā)有點(diǎn)在于不需要使用硬件,不需要設(shè)計(jì)系統(tǒng)的底層,只需要了解系統(tǒng)的。 基于與源碼的開發(fā),可以開發(fā)應(yīng)用程序,進(jìn)行系統(tǒng)移植或者開發(fā)系統(tǒng)本身。 、的子系統(tǒng) 是一個(gè)龐大的手機(jī)的系統(tǒng),它不僅僅實(shí)現(xiàn)了手機(jī)的基本的打電話,發(fā)信 息的功能,還實(shí)現(xiàn)了更復(fù)雜的多媒體處理、2D和3D游戲處理、信息感知處 理等,如下圖所示。 二、的子系統(tǒng) ?子系統(tǒng): ?(簡(jiǎn)稱:)子系統(tǒng),即:無線電接口系統(tǒng)用于管理用戶的電話、短信、數(shù) 據(jù)通信等相關(guān)功能,它是每個(gè)移動(dòng)
11、通信設(shè)備必備的系統(tǒng)。 ?子系統(tǒng): ?輸入子系統(tǒng)用來處理所有來自己用戶的輸入數(shù)據(jù),如:觸摸屏,聲音控制物 理按鍵等。 ?子系統(tǒng): ?即:圖形用戶接口,也就是所謂的圖形界面,它用來負(fù)責(zé)顯示系統(tǒng)圖形化界 面,形象讓用戶和系統(tǒng)操作及信息進(jìn)行交互。的系統(tǒng)和其它各子系統(tǒng)關(guān)系密 切相關(guān),是中最重要的子系統(tǒng)之一,女口:繪制一個(gè)2D圖形、通過庫處理3D 游戲、通過①來重疊幾個(gè)圖形界面。 二、的子系統(tǒng) ?子系統(tǒng): ?的音頻處理子系統(tǒng),主要用于音頻方面的數(shù)據(jù)流傳輸和控制功能,也負(fù)責(zé)音 頻設(shè)備的管理。的系統(tǒng)和多媒體處理緊密相連,如:視頻的音頻處理和播放、 電話通信及錄音等。 ?5子系統(tǒng): ?的多媒
12、體子系統(tǒng),它是系統(tǒng)中最龐大的子系統(tǒng),與硬件編解碼、多媒體框架 、多媒體框架等相關(guān),女恥 音頻播放器,視頻播放器,攝像預(yù)覽等。 ?6子系統(tǒng): ?連接子系統(tǒng)是智能設(shè)備的重要組成部分,它除了一般所謂的網(wǎng)絡(luò)連接,如: 以太網(wǎng)、②外,還包含:藍(lán)牙連接、③定位連接、④等。 ?7子系統(tǒng): ?的傳感器子系統(tǒng)為當(dāng)前智能設(shè)備大大提高了交互性,它在一新創(chuàng)新的應(yīng)用程 序和應(yīng)用體驗(yàn)里發(fā)揮了重要作用,傳感器子系統(tǒng)和手機(jī)的硬件設(shè)備緊密相關(guān), 如:陀螺儀、加速度計(jì)、距離感應(yīng)器、磁力傳感器等。 三、的開發(fā)方式 ?開發(fā): ?它提供給程序員一種最快捷的開發(fā)方式,基于開發(fā)環(huán)境和套件,快速開發(fā)出 標(biāo)準(zhǔn)的應(yīng)用程序,但是,
13、對(duì)于一些要修改框架代碼或基于自定義的高級(jí)開發(fā) ,這種方式難以勝任。 ?特點(diǎn): ?優(yōu)點(diǎn):只需要配置和環(huán)境就可以、簡(jiǎn)單、快捷、容易上手 ?缺點(diǎn):不能修改框架只能使用提供的調(diào)用框架層,代碼不高效、不能定制系 統(tǒng) 三、的開發(fā)方式 ?2源碼開發(fā): ?基于提供的源碼進(jìn)行開發(fā),可以最大體現(xiàn)出開源的優(yōu)勢(shì),讓用戶自定義 個(gè)性的系統(tǒng),開發(fā)出更高效、更與眾不同的應(yīng)用程序,這種方式更適合于系 統(tǒng)級(jí)開發(fā),對(duì)程序員要求比較高,這也是我們本書的重點(diǎn)。 ?優(yōu)點(diǎn):高效、可以定制系統(tǒng)、 ?缺點(diǎn):難度高、要求高、要求、、、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識(shí) 四、開發(fā)系統(tǒng)的搭建 1.開發(fā)環(huán)境的搭建 2?源碼開發(fā)環(huán)境的
14、搭建 源碼交叉編譯器 五、為什么要移植 研究和開發(fā)系統(tǒng)框架的作用:系統(tǒng)的開分為兩個(gè)方面,設(shè)備的開發(fā),和 應(yīng)用程序的開發(fā)??蚣軐訉?duì)著兩方面的開發(fā)都具有支持作用。 深層次的跟蹤和調(diào)試。作為開源軟件,的運(yùn)行過程對(duì)開發(fā)者的深層次研 究,可以探尋到運(yùn)行過程的全貌。 通用組件的實(shí)現(xiàn),基于的框架,可以實(shí)現(xiàn)橫向的一些模塊,特定的設(shè)備, 這些模塊可以提供標(biāo)準(zhǔn)系統(tǒng)外的額外功能。 輔助特定平臺(tái)的構(gòu)建,在設(shè)備的特定硬件平臺(tái)構(gòu)建中,不僅需要在硬件 移植層進(jìn)行開發(fā),還需要通過框架層以上部分對(duì)其進(jìn)行調(diào)試和測(cè)試。 應(yīng)用程序系統(tǒng)級(jí)別的程序,對(duì)于一個(gè)設(shè)備,有些預(yù)置的程序提供的是系 統(tǒng)級(jí)別的功能,這種應(yīng)用與框架層的耦合
15、性較強(qiáng),框架層研究這部分內(nèi)容的 開發(fā)至觀重要。 六、系統(tǒng)移植的主要工作 系統(tǒng)的移植工作的目的是為了在特定的硬件上運(yùn)行系統(tǒng),在移植的過程 中,首先要熟悉硬件的抽象層接口,其次要集成和復(fù)用已有的驅(qū)動(dòng)程序,主 要的工作是在硬件抽象層的實(shí)現(xiàn)中,為了更好的理解和調(diào)試系統(tǒng),也應(yīng)當(dāng)適 當(dāng)?shù)牧私馍蠈佑布?duì)抽象層的調(diào)研情況。 移植的工作包括:驅(qū)動(dòng)、系統(tǒng)硬件抽象層。 System API JAVA AppIication JAVA Framewprk Native Framework UserSpace Liunx kernel Hardware Native API OpenGL
16、Codec LIB Audio HAL Camera HAL Overlay HAL z\ / / \ RIL Sensor HAL HAL HAL OpenGL Audio driver GPS driver fb driver GPS HAL 1 VideoOUT . driver Audio VideoOUT Blue! ooth Modem Semsors WIFI LCD Camera HW Codec Camera driver Sensor driver Touch/ Keyboard Event driver 4 X? 2 Codec driver ? BT driver Modem driver WIFI driver HW OpenGL nun 2020/12/28 28 匯報(bào)結(jié)束 謝謝丸家! 請(qǐng)各住批評(píng)指正 2020/12/28 28 Thank You 2020/12/28 28
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運(yùn)動(dòng)會(huì)安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個(gè)人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動(dòng)總結(jié)+在機(jī)關(guān)“弘揚(yáng)憲法精神推動(dòng)發(fā)改工作高質(zhì)量發(fā)展”專題宣講報(bào)告會(huì)上的講話
- 2024年XX村合作社年報(bào)總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊(cè)教研組工作總結(jié)
- 2024年小學(xué)高級(jí)教師年終工作總結(jié)匯報(bào)
- 2024-2025年秋季第一學(xué)期初中物理上冊(cè)教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報(bào)告
- 2025年學(xué)校元旦迎新盛典活動(dòng)策劃方案
- 2024年學(xué)校周邊安全隱患自查報(bào)告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報(bào)告