版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈哈 爾爾 濱濱 理理 工工 大大 學(xué)學(xué)畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) 題題 目:目:基于基于 Android 的軟件管理工具的開(kāi)發(fā)的軟件管理工具的開(kāi)發(fā) 院、院、 系:系: 軟件工程系軟件工程系 姓姓 名:名: xxx 指導(dǎo)教師:指導(dǎo)教師: xxx 系系 主主 任:任: xxx 2013 年年 6 月月 22 日日哈爾濱理工大學(xué)畢業(yè)設(shè)計(jì)(論文)評(píng)語(yǔ)哈爾濱理工大學(xué)畢業(yè)設(shè)計(jì)(論文)評(píng)語(yǔ)學(xué)生姓名:xxx 學(xué)號(hào):xxxxxxxx學(xué) 院: 專業(yè):軟件工程任務(wù)起止時(shí)間: 2012 年 9 月 10 日至 2013 年 6 月 22 日畢業(yè)設(shè)計(jì)(論文)題目:基于 Android 的軟件管理工具的開(kāi)發(fā)指導(dǎo)教師對(duì)畢業(yè)設(shè)
2、計(jì)(論文)的評(píng)語(yǔ):指導(dǎo)教師簽名: 指導(dǎo)教師職稱: 評(píng)閱教師對(duì)畢業(yè)設(shè)計(jì)(論文)的評(píng)語(yǔ):評(píng)閱教師簽名: 評(píng)閱教師職稱: 答辯委員會(huì)對(duì)畢業(yè)設(shè)計(jì)(論文)的評(píng)語(yǔ):答辯委員會(huì)評(píng)定,該生畢業(yè)設(shè)計(jì)(論文)成績(jī)?yōu)椋?答辯委員會(huì)主席簽名: 職稱: 年 月 日哈爾濱理工大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)哈爾濱理工大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué)生姓名: 學(xué)號(hào): 學(xué) 院: 專業(yè):軟件工程任務(wù)起止時(shí)間: 2012 年 9 月 10 日 至 2013 年 6 月 22 日畢業(yè)設(shè)計(jì)(論文)題目:基于 Android 的軟件管理工具的開(kāi)發(fā)畢業(yè)設(shè)計(jì)工作內(nèi)容: 采用 Android 平臺(tái)和 java 語(yǔ)言進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)了軟件的安裝模塊實(shí)現(xiàn)了
3、安裝運(yùn)行分享和刪除功能,軟件的卸載模塊實(shí)現(xiàn)了刪除運(yùn)行和分享功能,軟件的進(jìn)程管理模塊實(shí)現(xiàn)了一鍵清理和詳細(xì)信息功能。依據(jù) Android 平臺(tái)的可定制的特點(diǎn),整合了 Android 提供給用戶使用的用戶控件進(jìn)行系統(tǒng)的界面設(shè)計(jì)。資料:1、Android 開(kāi)發(fā)簡(jiǎn)介2、Android 系統(tǒng)架構(gòu)及其驅(qū)動(dòng)研究3、基于 Android 的智能手機(jī)的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)教師意見(jiàn):簽名:年 月 日系主任意見(jiàn):簽名:年 月 日哈爾濱理工大學(xué)學(xué)士學(xué)位論文 I基于基于 AndroidAndroid 的軟件管理工具的開(kāi)發(fā)的軟件管理工具的開(kāi)發(fā)摘摘 要要Android 是 Google 開(kāi)發(fā)的基于 Linux 平臺(tái)的開(kāi)源手機(jī)操作系
4、統(tǒng)。本文實(shí)現(xiàn)了軟件的安裝模塊實(shí)現(xiàn)了安裝運(yùn)行分享和刪除功能,軟件的卸載模塊實(shí)現(xiàn)了刪除運(yùn)行和分享功能,軟件的進(jìn)程管理模塊實(shí)現(xiàn)了一鍵清理和詳細(xì)信息功能。在實(shí)現(xiàn)的過(guò)程當(dāng)中遇到代碼部分不會(huì),功能遺漏等問(wèn)題,通過(guò)查資料和朋友的講解得以解決。在移動(dòng)終端技術(shù)與互聯(lián)網(wǎng)不斷發(fā)展與融合的今天,智能手機(jī)這一全新的概念也走進(jìn)了人們的生活之中,隨著技術(shù)的進(jìn)步,人們對(duì)于產(chǎn)品的方便和舒適程度也提出了更高的要求。除期望所用的軟件擁有強(qiáng)大的功能外,更期望應(yīng)用軟件能盡可能的為他們提供一個(gè)輕松、愉快、感覺(jué)良好的操作環(huán)境。正占據(jù)著越來(lái)越多的市場(chǎng)份額。而 Android 平臺(tái)卻不提供自帶的軟件管理系統(tǒng)。隨著 Android 手機(jī)越來(lái)越普
5、及,在平臺(tái)之上的軟件越來(lái)越豐富,沒(méi)有軟件管理器的特點(diǎn)在一定程度上影響了用戶的體驗(yàn)。論文依據(jù) Android 平臺(tái)的可定制的特點(diǎn),整合了 Android 提供給用戶使用的用戶控件進(jìn)行系統(tǒng)的界面設(shè)計(jì)。以期望應(yīng)用軟件能盡可能的為他們提供一個(gè)輕松、愉快、感覺(jué)良好的操作環(huán)境。結(jié)合實(shí)際需要,設(shè)計(jì)實(shí)現(xiàn)一款基于 Android 平臺(tái)的軟件管理系統(tǒng)。關(guān)鍵詞關(guān)鍵詞 Android;管理器;模塊哈爾濱理工大學(xué)學(xué)士學(xué)位論文 IIAndroid-based Software Management Tool DevelopmentAbstractAndroid is a Google development platfo
6、rm based on the Linux open source mobile phone operating system. Now occupy more and more market share. While the Android platform does not provide built-in software management system. This paper implements software installation module implements the installation and operation sharing and delete fun
7、ctions, uninstall the software module implements the delete operation and sharing capabilities, software process management module implements a function key clean-up and details. Encountered in the realization of the process will not be part of the code, functionality issues such as missing by a fri
8、end to find information and explanations can be solved Now occupy more and more market share. While the Android platform does not provide built-in software management system. With the Android mobile phone is more and more popular, the platform software is more and more abundant, there is no software
9、 manager characteristics in a certain extent influence the user experience.This paper is based on Android platform can be customized features, the integration of the Android available to the users of the user control system interface design. In the hope of application software can be as much as poss
10、ible to provide them with a relaxed, happy, feel good operation environment. Combined with the actual needs, to achieve a design based on the Android software platform management system.Keywords Android ;Manager;Module哈爾濱理工大學(xué)學(xué)士學(xué)位論文III目 錄摘 要.IAbstract.II第 1 章 緒論.11.1 項(xiàng)目研究背景 .21.1.1 Android 運(yùn)作模式及優(yōu)勢(shì) .3
11、1.2 課題研究目的及意義.31.2.1 Android 的缺點(diǎn)和不足 .31.2.2 研究目標(biāo)及意義 .3第 2 章 課題相關(guān)技術(shù)和理論.52.1 Android 手機(jī)平臺(tái).62.1.1 Android 簡(jiǎn)介 .62.1.2 Android 模擬器開(kāi)發(fā)環(huán)境特點(diǎn) .62.2 Android 系統(tǒng)結(jié)構(gòu)組成分析.72.2.1 Android 系統(tǒng)架 .72.2.2 Android 代碼結(jié)構(gòu)分析 .112.2.3 Android 驅(qū)動(dòng) .112.3 Eclipse 簡(jiǎn)介 .12第 3 章 需求分析.143.1 系統(tǒng)目的.143.2 需求分析方法.143.3 功能需求.143.3.1 軟件的安裝模塊需
12、求 .153.3.2 軟件的卸載模塊需求 .163.3.3 軟件的進(jìn)程管理模塊需求 .163.4 系統(tǒng)界面需求.173.5 運(yùn)行環(huán)境需求.19第 4 章 系統(tǒng)設(shè)計(jì).204.1 系統(tǒng)總體設(shè)計(jì) .204.1.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)原理 .204.1.2 軟件管理工具結(jié)構(gòu)設(shè)計(jì) .204.2 系統(tǒng)概述.224.2.1 應(yīng)用背景.224.2.2 系統(tǒng)功能設(shè)計(jì).23第 5 章 系統(tǒng)詳細(xì)設(shè)計(jì)實(shí)現(xiàn).24哈爾濱理工大學(xué)學(xué)士學(xué)位論文IV5.1 安裝模塊.245.2 運(yùn)行模塊.255.3 分享模塊.265.4 刪除模塊.285.5 卸載模塊.295.6 進(jìn)程管理模塊.31第 6 章 系統(tǒng)測(cè)試.316.1 測(cè)試方案.3
13、16.2 測(cè)試項(xiàng)目.316.2.1 軟件運(yùn)行測(cè)試.316.2.2 軟件分享測(cè)試.326.2.3 軟件刪除測(cè)試.326.2.4 軟件卸載測(cè)試.336.2.5 進(jìn)程管理測(cè)試.34致謝.35參考文獻(xiàn).36哈爾濱理工大學(xué)學(xué)士學(xué)位論文1第第 1 章章 緒論緒論1.1 項(xiàng)目研究背景目前隨著移動(dòng)設(shè)備越來(lái)越普及以及設(shè)備的硬件的提升,移動(dòng)設(shè)備的功能越來(lái)越完善,移動(dòng)設(shè)備的系統(tǒng)平臺(tái)也日漸火熱起來(lái)。目前國(guó)內(nèi)最常見(jiàn)的移動(dòng)開(kāi)發(fā)平臺(tái)有 Symbian, iPone,Windows Phone 以及當(dāng)下正在逐步興起的 Android。目前為止國(guó)內(nèi)已經(jīng)有很多 Android 系統(tǒng)的用戶。截止 2010年第二季度 Android
14、 系統(tǒng)的國(guó)內(nèi)市場(chǎng)占有率已經(jīng)過(guò) 10%,在西歐以及北美智能手機(jī)市場(chǎng)占有率也在 20%左右??梢?jiàn) Android 系統(tǒng)正在崛起之中。但是對(duì)于 Android 系統(tǒng)的應(yīng)用和開(kāi)發(fā)在國(guó)內(nèi)仍然屬于起步和探索階段。急需要大量的相關(guān)技術(shù)和人員的投入。下面首先介紹一下 Android 系統(tǒng)。Android 是基于 Linux 內(nèi)核的軟件平臺(tái)的操作系統(tǒng),是 Google 在 2007 年 11 月 5 日公布的手機(jī)系統(tǒng)平臺(tái),早期由 Google 開(kāi)發(fā),后由(Open Handset Alliance)開(kāi)發(fā)。它采用了軟件堆層(Software stack,又名以軟件疊層)的架構(gòu),主要分為三部分。低層以 Linux
15、核心工作為基礎(chǔ),只提供基本功能,其他的應(yīng)用軟件則由各公司自行開(kāi)發(fā),以 Java 作為編寫(xiě)程式的一部分。1.1.1 Android 運(yùn)作模式及優(yōu)勢(shì)Android 作為一個(gè)通用的手機(jī)操作系統(tǒng),任何一家廠商均可使用,這點(diǎn)和 Windows Mobile 類似,但是不同的是 Android 整套系統(tǒng)完全開(kāi)源和免費(fèi),而 Mobile 是需要收取一定授權(quán)費(fèi)用。這也就是為什么 Android 市場(chǎng)占有率在短時(shí)間內(nèi)大大超過(guò) Windows Mobile1的主要原因。Android 和 iPhone OS, Symbian, B1ackBerry OS 等系統(tǒng)在商業(yè)運(yùn)作上有很大的不同:iPhone OS 只為蘋(píng)
16、果的 iPhone 所用,并由蘋(píng)果嚴(yán)格控制;諾基亞、索愛(ài)各自運(yùn)維著與自家硬件緊密結(jié)合的 Symbian 版本;而 B1ackBerry OS 是 RIM 專用的操作系統(tǒng);Android 則采用了聯(lián)盟的方式,幾乎世界上所有的大廠商都加入了谷歌手機(jī)開(kāi)放聯(lián)盟,如國(guó)外的知名企業(yè):包括 Google , HTC(宏達(dá)電)、T-Mobile、高通、摩托羅拉、三星、LG 等,國(guó)內(nèi)的知名企:中國(guó)移動(dòng)、聯(lián)通、電信和華為、聯(lián)想等都加入到這個(gè)大家族中。顯然,這些大公司的加入有助于自己推出 Android 相關(guān)的產(chǎn)品,同時(shí)也增強(qiáng)了 Android 的生命力。如今移動(dòng)設(shè)備的處理器九成以上采用 ARM 核,造成這種局面最
17、重要的一個(gè)原因是 ARM 公司和全世界各半導(dǎo)體廠商的合作所帶來(lái)的強(qiáng)大生命力,在這點(diǎn)上,Android 與 ARM2 的商業(yè)運(yùn)作有些許類似。在軟件上,Android 與其它硬件廠商的結(jié)合度越高,第三方廠商就越哈爾濱理工大學(xué)學(xué)士學(xué)位論文2可能考慮采用它,第三方硬件廠商可以擴(kuò)展 Android 本身不支持的功能(比如和 Android3 界面完全不同的獨(dú)有界面),可以增加針對(duì)某些設(shè)備特有的功能。由于不同網(wǎng)絡(luò)服務(wù)提供商、不同手機(jī)制造商的用戶需要不同的設(shè)置,對(duì)于這種情況,Android 系統(tǒng)本身并沒(méi)有集成任何一種形式的應(yīng)用管理程序,因此 Android 智能手機(jī)的軟件安裝、系統(tǒng)升級(jí)、多媒體同步、應(yīng)用軟件
18、管理以及云同步在不同的手機(jī)上可以以不同的形式出現(xiàn)。對(duì)于手機(jī)用戶而言,Android 擁有應(yīng)用程序 Market,類似于 iPhone App StoreMarket 上有大量的應(yīng)用程序,Android 手機(jī)可以通過(guò)網(wǎng)絡(luò)在線安裝,且絕大部分應(yīng)用程序免費(fèi)并開(kāi)源,這是 Market 優(yōu)于 App Store4 的地方。在當(dāng)今的軟件大環(huán)境方面,軟件的環(huán)境正在逐漸改變,微軟這種軟件巨頭在壓力下,也不得不將 Windows Mobile5 開(kāi)源,軟件免費(fèi)開(kāi)源已成為一種趨勢(shì);軟件的含義正在改變,傳統(tǒng)軟件業(yè)以微軟為代表,純粹是賣軟件,賣一份軟件,獲得一份收入;而以谷歌為代表的一些企業(yè),已經(jīng)不將賣軟件作為公司的
19、主要收入來(lái)源,甚至它的所有軟件都免費(fèi),給用戶提供免費(fèi)的服務(wù)。賣服務(wù)而不是賣軟件已成為一種趨勢(shì)。而云計(jì)算的出現(xiàn),會(huì)是傳統(tǒng)軟件的一種顛覆,目前許多公司,如 IBM,亞馬遜、微軟、Google 等都以投入到云計(jì)算中,其中以 Google 走在前列,并有很多此類產(chǎn)品,比如 Google Docs 就可以完成在線的辦公文檔的編輯、保存、打印等;Android 是 Google 推出的產(chǎn)品,其對(duì)網(wǎng)絡(luò)的支持是任何其他智能手機(jī)系統(tǒng)無(wú)法比擬的,可以說(shuō) Android 就是應(yīng)網(wǎng)絡(luò)而生,隨著 3G 時(shí)代的到來(lái),Android 對(duì) 3G 的良好支持,Android6 在網(wǎng)絡(luò)方面的優(yōu)勢(shì)更為突出。而 android 的優(yōu)
20、勢(shì)可以用一下幾點(diǎn)來(lái)進(jìn)行說(shuō)明:1、Android 平臺(tái)在數(shù)量上主宰市場(chǎng) Google CEO 埃里克施密特(Eric Schmidt)曾表示每天出售 20 部 Android 手機(jī),而第三方調(diào)查也顯示該平臺(tái)發(fā)展勢(shì)頭正穩(wěn)步增長(zhǎng);根據(jù)市場(chǎng)分析機(jī)構(gòu) NPD 發(fā)布的數(shù)據(jù)顯示,在今年 4-6 月份發(fā)售的智能手機(jī)中,有 33%為 Android 手機(jī),而 RIM 手機(jī)發(fā)售比例為 28%,iPhone 為 22%;也就是說(shuō),美國(guó)人開(kāi)始青睞 Android 手機(jī);2、手機(jī)型號(hào)更多、促銷力度更大:NPD 指出,摩托羅拉 Droid、宏達(dá)電 Droid Incredible、宏達(dá)電 EVO 4G、宏達(dá)電 HTC H
21、ero 和宏達(dá)電 Droid Eris 這 5 大頂級(jí) Android 手機(jī)擁有大量運(yùn)營(yíng)商,其中包括 Verizon Wireless、AT&T、Sprint 和 T-Mobile;因運(yùn)營(yíng)商之間競(jìng)爭(zhēng)激烈,如 Verizon 推出的買一送一促銷活動(dòng)及折扣價(jià)將繼續(xù)在 2Android 市場(chǎng)發(fā)揮重大作用;對(duì)購(gòu)買 12 部以上智能手機(jī)的公司而言,價(jià)格優(yōu)惠將為自己節(jié)約大量資金;3、為不同品種和理念提供更大空間盡管 iPhone 應(yīng)用受追捧,但 Android 應(yīng)用直接來(lái)自 Google 天才工程師團(tuán)隊(duì),如 Google 哈爾濱理工大學(xué)學(xué)士學(xué)位論文3Goggles 中的圖像識(shí)別軟件能夠檢索徒步旅行
22、或菜單;但其應(yīng)用卻不限于工程師;Google 還開(kāi)發(fā)出開(kāi)源 App Inventor,其結(jié)果是任何人都能夠?yàn)?Android 開(kāi)發(fā)應(yīng)用,這也為新理念提供了一個(gè)平臺(tái);4、Android 具備創(chuàng)新性:自 Google 開(kāi)發(fā)出 Android 后,許多人認(rèn)為其技術(shù)可信度要比其它操作系統(tǒng)略勝一籌,但這并不是用戶購(gòu)買 Android 智能手機(jī)的唯一原因;人們認(rèn)為 Android 是一種相對(duì)較新的、又比較成熟的技術(shù),在達(dá)到巔峰之前還有很大發(fā)展空間;Android 不象 iPhone 封閉系統(tǒng),其功能日益 豐富、用戶界面更加友好;5、Android 2.2 是用戶 IT 部門的禮物:Android 2.2
23、解決了同微軟 Exchange 的同步問(wèn)題;該系統(tǒng)新增管理員遠(yuǎn)程刪除、屏保超市限定等安全功能。預(yù)計(jì) Android 平臺(tái)在不久的將來(lái)將成為美國(guó)移動(dòng)操作系統(tǒng)中的佼佼者7。1.2 課題研究目的及意義1.2.1 Android 的缺點(diǎn)和不足Android 手機(jī)平臺(tái)固然有巨大的優(yōu)勢(shì),但是也存在一些缺點(diǎn)和不足, Android 缺點(diǎn) 1:Android 平臺(tái)自身不提供資源管理器?;蛘呓形募芾砥?,這對(duì)于無(wú)論智能手機(jī)還是個(gè)人電腦都是很重要的一項(xiàng)功能,對(duì)比Symbian 平臺(tái)和 Windows Mobile 平臺(tái),后兩者均有自帶的文件管理器,而且這是系統(tǒng)最常用的功能之一。由于 Android 平臺(tái)能自定制的
24、特點(diǎn),Android 平臺(tái)上的資源也出現(xiàn)爆發(fā)式的增長(zhǎng),沒(méi)有自帶軟件管理工具的特點(diǎn)在一定程度上引起了混亂。Android 缺點(diǎn) 2:沒(méi)有自帶任務(wù)管理器。Android 缺點(diǎn) 3:藍(lán)牙傳輸文件不方便。之前蘋(píng)果 iPhone 中也有這樣的問(wèn)題,藍(lán)也不允許傳輸文件?,F(xiàn)在 Android 內(nèi)置的藍(lán)牙功能是允許傳輸?shù)?,但也有一些限制。Android 缺點(diǎn) 4:缺少大型游戲軟件。在數(shù)量上,Android 平臺(tái)現(xiàn)在已經(jīng)具有超過(guò) 1 萬(wàn)款的應(yīng)用件。由于其中絕大部分為免費(fèi)軟件,同樣也帶來(lái)了“免費(fèi)品質(zhì)” ,即功能相對(duì)簡(jiǎn)單,特別是在游戲部分,沒(méi)有大型手機(jī)游戲,諸如手機(jī)版的極品飛車、實(shí)況足球等。這些桌面端的巨型游戲都有
25、在 iPhoneApp Store 中出現(xiàn)。Android 缺點(diǎn) 5:界面定制不夠簡(jiǎn)單?,F(xiàn)在手機(jī)的外觀定制是很重要的,我們知道 Symbian 平臺(tái)有非常豐富的主題軟件,主題下載到手機(jī)之后,只需在相應(yīng)的目錄選擇設(shè)定就可以了。如果你是一個(gè)愛(ài)研究的用戶,使用諾基亞的主題編輯軟件還可以進(jìn)行自定義的修改。同樣在 Windows Mobile 系統(tǒng)里, “今日”桌面設(shè)置同樣可以方便地自定義桌面界面,這種自定地的方式有所不同的是,可以將不同的今日插件選擇是否顯示在桌面。相比之下,現(xiàn)在 Android 的主題自定義方式還很繁瑣,而且沒(méi)有官方的主題格式推出。哈爾濱理工大學(xué)學(xué)士學(xué)位論文41.2.2 研究目標(biāo)及意
26、義 本系統(tǒng)設(shè)計(jì)的思路正是為具體軟件開(kāi)發(fā)商解決 Android 平臺(tái)部分缺點(diǎn)出發(fā),本系統(tǒng)設(shè)計(jì)目標(biāo)是設(shè)計(jì)并開(kāi)發(fā)實(shí)現(xiàn)一個(gè)使用方便的管理系統(tǒng),類似于對(duì)于手機(jī)上的資源進(jìn)行方便的管理。并能實(shí)現(xiàn)對(duì)于任務(wù)進(jìn)度的管理,并為本機(jī)文件系統(tǒng)提供資源搜索引擎,并且將最后系統(tǒng)固化于手機(jī)平臺(tái)之上,最終完成完成 Android 智能手機(jī)平臺(tái)定制。本課題以 Android 智能手機(jī)平臺(tái)為中心,從軟件和硬件上分析在 Android 智能手機(jī)平臺(tái)上的的開(kāi)發(fā)流程和基本的方法、技巧,并最終完成一個(gè)基于 android 手機(jī)平臺(tái)上的管理系統(tǒng)。本文從軟件的最底層到最上層進(jìn)行了分析:從啟動(dòng)代碼到內(nèi)核再到驅(qū)動(dòng)、文件系統(tǒng),最后到 Android
27、 應(yīng)用層。本文對(duì)底層軟件以及上層軟件開(kāi)發(fā)過(guò)程中的環(huán)境進(jìn)行了介紹,針對(duì)每層的特點(diǎn)對(duì)調(diào)試方法進(jìn)行了分析和選擇。以實(shí)際管理系統(tǒng)開(kāi)發(fā)為例,系統(tǒng)說(shuō)明 android 平臺(tái)開(kāi)發(fā)流程。深入了解 Android 系統(tǒng)。國(guó)移動(dòng)等)的大力支持,產(chǎn)業(yè)鏈條的熱捧。良好的盈利模式 X3/7 開(kāi)),產(chǎn)業(yè)鏈條的各方:運(yùn)營(yíng)商、制造商、獨(dú)立軟件生產(chǎn)商都可以獲得不錯(cuò)將移動(dòng)終端的評(píng)價(jià)標(biāo)準(zhǔn)從硬件向軟件轉(zhuǎn)變,極大的激發(fā)了軟件開(kāi)發(fā)者的熱情。Android 的源代碼遵循 ApacheV2 軟件許可,而不是通常的 GPL v2 許可。有利于商業(yè)開(kāi)發(fā)。具有強(qiáng)大的 Linux 社區(qū)的支持。哈爾濱理工大學(xué)學(xué)士學(xué)位論文5第第 2 章章 課題相關(guān)技術(shù)
28、和理論課題相關(guān)技術(shù)和理論2.1 Android 手機(jī)平臺(tái)Android 一詞的本義指“機(jī)器人” ,同時(shí)也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。2008 年 9 月 22 日,美國(guó)運(yùn)營(yíng)商 T-Mobile USA 在紐約正式發(fā)布第一款 Google 手機(jī)T-Mobile G1。該款手機(jī)為臺(tái)灣宏達(dá)電子代工制造,是世界上第一部使用 Android 操作系統(tǒng)的手機(jī),支持 WCDMA/HSPA 網(wǎng)絡(luò),理論下載速率 7.2Mbps,并支持
29、 Wi-Fi8。Android 是 Google 開(kāi)發(fā)的基于 Linux 平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序 移動(dòng)電話工作所需的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。Google 與開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了 Android,這個(gè)聯(lián)盟由包括中國(guó)移動(dòng)、摩托羅拉、高通、宏達(dá)電和 T-Mobile 在內(nèi)的 30 多家技術(shù)和無(wú)線應(yīng)用的領(lǐng)軍企業(yè)組成。Google 通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。2.1.1 Android 簡(jiǎn)介Android
30、作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)隨時(shí)隨地為每個(gè)人提供信息這一企業(yè)目標(biāo)的實(shí)現(xiàn)。我們發(fā)現(xiàn),全球?yàn)閿?shù)眾多的移動(dòng)電話用戶從未使用過(guò)任何基于 Android 的電話。谷歌的目標(biāo)是讓(移動(dòng)通訊)不依賴于設(shè)備甚至平臺(tái)。出于這個(gè)目的,Android 將補(bǔ)充,而不會(huì)替代谷歌長(zhǎng)期以來(lái)奉行的移動(dòng)發(fā)展戰(zhàn)略:通過(guò)與全球各地的手機(jī)制造商和移動(dòng)運(yùn)營(yíng)商結(jié)成合作伙伴,開(kāi)發(fā)既有用又有吸引力的移動(dòng)服務(wù),并推廣這些產(chǎn)品。Android 源代碼完全開(kāi)放,便于開(kāi)發(fā)人員更清楚的把握實(shí)現(xiàn)細(xì)節(jié),便于提高開(kāi)發(fā)人員的技術(shù)水平,有利于開(kāi)發(fā)日更具差異性的應(yīng)用。采用了對(duì)有限內(nèi)存、電池和 CPU 優(yōu)化過(guò)的虛擬機(jī) Dalvik,Android
31、的運(yùn)行速度比想象的要快很多。運(yùn)營(yíng)商(中國(guó)移動(dòng)等)的大力支持,產(chǎn)業(yè)鏈條的熱捧。良好的盈利模式 X3/7 開(kāi)),產(chǎn)業(yè)鏈條的各方:運(yùn)營(yíng)商、制造商、獨(dú)立軟件生產(chǎn)商都可以獲得不錯(cuò)將移動(dòng)終端的評(píng)價(jià)標(biāo)準(zhǔn)從硬件向軟件轉(zhuǎn)變,極大的激發(fā)了軟件開(kāi)發(fā)者的熱情。Android 的源代碼遵循 ApacheV2 軟件許可,而不是通常的 GPL v2 許可。有利于商業(yè)開(kāi)發(fā)。具有強(qiáng)大的 Linux 社區(qū)的支持。哈爾濱理工大學(xué)學(xué)士學(xué)位論文62.1.2 Android 模擬器開(kāi)發(fā)環(huán)境特點(diǎn)Android 是一個(gè)專門針對(duì)移動(dòng)設(shè)備的軟件集,它包括一個(gè)操作系統(tǒng),中間件和一些重要的應(yīng)用程序。提供了在 Android 平臺(tái)上使用 Java 語(yǔ)
32、言進(jìn)行 Android 應(yīng)用開(kāi)發(fā)必須的工具和 API 9接口。應(yīng)用程序框架支持組件的重用與替換。其主要的內(nèi)容和功能有:Dalvik 虛擬機(jī)專為移動(dòng)設(shè)備優(yōu)化;集成的瀏覽器基于開(kāi)源的 WebKit 引擎;優(yōu)化的圖形庫(kù)包括定制的 2D 圖形庫(kù),3D 圖形庫(kù)基于 OpenGL ES 1.0; SQLite 用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ);多媒體支持包括常見(jiàn)的音頻、視頻和靜態(tài)圖像格式(如 MPEG4, H.264。MP3, AAC,AMR, JPG, PNC。GSM 電話技術(shù)(依賴于硬件);藍(lán)牙 Bluetooth, EDGE, 3G,和 WiFi(依賴于硬件);照相機(jī),GPS,指南針,和加速度計(jì)(acceler
33、ometer)(依賴于硬件);豐富的開(kāi)發(fā)環(huán)境包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和 Eclipse 集成開(kāi)發(fā)環(huán)境插件。Android 會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括 email 客戶端,SMS 短消息程序,日歷地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用 JAVA 語(yǔ)言編寫(xiě)的。開(kāi)發(fā)人員也可以完全訪問(wèn)核心應(yīng)用程序所使用的 API 框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵守框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。下面簡(jiǎn)單介紹隱
34、藏在每個(gè)應(yīng)用后面的一系列的服務(wù)和系統(tǒng),其中包括:豐富而又可擴(kuò)展的視圖(views),可以用來(lái)構(gòu)建應(yīng)用程序,它包括列表(lists),網(wǎng)格(grids),文本框(texrboxes),按鈕(buttons),甚至可嵌入的 web 瀏覽器。通知管理器(Notification Manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。內(nèi)容提供器(ContentProviders)使得應(yīng)用程序可以訪問(wèn)另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫(kù)),或者共享它們白己的數(shù)據(jù)?;顒?dòng)管理器(Activity Manager)用來(lái)管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。Android 包含一些 C/C+庫(kù)
35、,這些庫(kù)能被 Android 系統(tǒng)中不同的組件使用。它們通過(guò) Android 應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。以下將簡(jiǎn)單介紹 android 中的一些核心庫(kù)系統(tǒng) C 庫(kù)是專門基于 embedded linux 的設(shè)備定制的。它是從 BSD 繼承來(lái)的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫(kù)(libc);媒體庫(kù):該庫(kù)基于 PacketVideoOpenCORE;并且支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括 MPEG4, H.264, MP3,AAC,AMR, JPG, PNG。Surface Manager為多個(gè)應(yīng)用程序提供了 2D 和 3D 圖層的無(wú)縫融合,顯示了系統(tǒng)的管理。LibW
36、ebCore:支持 哈爾濱理工大學(xué)學(xué)士學(xué)位論文7Android 瀏覽器和一個(gè)可嵌入的 web 視圖。一個(gè)最新的 web 瀏覽器引擎用。SGL:底層的 2D 圖形引擎 3D libraries:該庫(kù)可以使用硬件 3D 加速(如果可用)或者使用高入度優(yōu)化的 3D 軟加速?;?OpenGL ES 1.0API 實(shí)現(xiàn) FreeType:位圖(bitm ap)和矢量(vector)字體顯示。SQLitej 庫(kù):功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎并且對(duì)于所有應(yīng)用程序可用。Android 還包括了一個(gè)核心庫(kù),該核心庫(kù)提供了 JAVA 編程語(yǔ)言核心庫(kù)的大多數(shù)功能。每一個(gè) Android 應(yīng)用程序都在它白己的進(jìn)程
37、中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik 虛擬機(jī)實(shí)例。Dalvik 被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。Dalvik 虛擬機(jī)執(zhí)行(dex)的 Dalvik 可執(zhí)行文件,該格式件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類都由編譯器編譯,然后通別 DK 中的”dx工具轉(zhuǎn)化成.dex 格式由虛擬機(jī)執(zhí)行。Dalvik 虛擬機(jī)依賴于 linux 內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。2.2 Android 系統(tǒng)結(jié)構(gòu)組成分析2.2.1 Android 系統(tǒng)架Android 系統(tǒng)由底層到應(yīng)用層的系統(tǒng)結(jié)構(gòu),下面由底層逐步向上做一個(gè)簡(jiǎn)單的介紹。Android 的內(nèi)核采用 Lin
38、ux 內(nèi)核版本 2.6,其位于硬件和軟件堆之間的抽象層,提供的核心服務(wù):安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)、硬件驅(qū)動(dòng)。系統(tǒng)結(jié)構(gòu)如圖 2-1 :哈爾濱理工大學(xué)學(xué)士學(xué)位論文8圖 2-1 Android 系統(tǒng)框架圖Android 依賴 Linux 內(nèi)核 2.6 提供核心服務(wù),比如安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)、硬件驅(qū)動(dòng)。這里,Linux 內(nèi)核扮演的是硬件層和系統(tǒng)其它層次之間的一個(gè)抽象層的概念。這個(gè)操作系統(tǒng)并非完全等同于 unix/linux 系統(tǒng)庫(kù),系統(tǒng)初始化和編程接口都和標(biāo)準(zhǔn)的 Linux 系統(tǒng)是有所不同的。內(nèi)核的結(jié)構(gòu)如圖 2-2:圖 2-2 Android 中 linux 內(nèi)核圖內(nèi)核的結(jié)構(gòu)和標(biāo)準(zhǔn)
39、的 Linux 內(nèi)核一樣,Android 內(nèi)核要實(shí)現(xiàn)內(nèi)存管理、進(jìn)程調(diào)度、進(jìn)程間通信等功能 Android 內(nèi)核是在標(biāo)準(zhǔn) Linux 內(nèi)核的基礎(chǔ)上修改成為了適應(yīng)嵌入式硬件環(huán)境和移動(dòng)應(yīng)用程序的開(kāi)發(fā),Android 對(duì)標(biāo)準(zhǔn) Linux 內(nèi)核進(jìn)行了一定的修改為了對(duì)比分析 Android 內(nèi)核,在 U buntu 操作系統(tǒng)上搭建了 Android 內(nèi)核的編譯開(kāi)發(fā)平臺(tái),通過(guò) repo,下載Linux 內(nèi)核DispiayDriverCameraDriverFlash MemoryDriverBider(IPC)DriverKeypad DriverWifiDriverAudoDriverPowerManag
40、ementDarvin OS XMach/BS 內(nèi)核哈爾濱理工大學(xué)學(xué)士學(xué)位論文9最新的 Android 內(nèi)核代碼版本 Linux 內(nèi)核版本為 2.6.27)從獲得的內(nèi)核源碼樹(shù)的根目錄結(jié)構(gòu)。經(jīng)過(guò)與 unix 標(biāo)準(zhǔn)內(nèi)核比較可以發(fā)現(xiàn),Android 內(nèi)核與標(biāo)準(zhǔn) Linux 內(nèi)核在文件系統(tǒng)、進(jìn)程間通信機(jī)制、內(nèi)存管理等方面存在不同。 文件系統(tǒng):不同于桌面系統(tǒng)與服務(wù)器,移動(dòng)設(shè)備大多采用的不是硬盤而是采用 flash 作為存儲(chǔ)介質(zhì),因此,Android 內(nèi)核中,增加了標(biāo)準(zhǔn) Linux 內(nèi)核, ,采用日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電保護(hù),可以有效地避免意外斷電對(duì)文件系統(tǒng)一致性和完整性的影響。按層次結(jié)構(gòu)
41、設(shè)計(jì),分為文件管理接口、內(nèi)部實(shí)現(xiàn)層和 HAND,簡(jiǎn)化了其本身與系統(tǒng)的接口設(shè)計(jì),能更方便地集成到系統(tǒng)當(dāng)中。 進(jìn)程間通信機(jī)制:Android 增加了一種進(jìn)程間的通信機(jī)制在內(nèi)核源代碼驅(qū)動(dòng)程序文件為、oredroid/includellinux/binder.h 和、oredroid/drivers/android/binder.、Binder 通過(guò)守護(hù)進(jìn)程 Service Manager 管理系統(tǒng)的服務(wù),負(fù)責(zé)進(jìn)程間的數(shù)據(jù)交換各進(jìn)程通過(guò) Binder 訪問(wèn)同一塊共享內(nèi)存,以達(dá)到數(shù)據(jù)通信的機(jī)制從應(yīng)用層的角度看,進(jìn)程通過(guò)訪問(wèn)數(shù)據(jù)守護(hù)進(jìn)程獲取用于數(shù)據(jù)交換的程序框架接口,調(diào)用并通過(guò)接口共享數(shù)據(jù),而其他進(jìn)程要訪
42、問(wèn)數(shù)據(jù),也只需與程序框架接口進(jìn)行交互,方便了程序員開(kāi)發(fā)需要交互數(shù)據(jù)的應(yīng)用程序。內(nèi)存管理:在內(nèi)存管理模塊,Android 內(nèi)核采用了一種不用于標(biāo)準(zhǔn) Linux 內(nèi)核的低內(nèi)存管理策略,在標(biāo)準(zhǔn) Linux 內(nèi)核使用一種叫做 OOM(Out of Memory)的低內(nèi)存管理策略;當(dāng)內(nèi)存不足時(shí),系統(tǒng)檢查所有的進(jìn)程,并對(duì)進(jìn)程進(jìn)行限制評(píng)分,獲得最高分的進(jìn)程將被關(guān)閉(內(nèi)核進(jìn)程除外)Android 系統(tǒng)采用的則是一種叫作 LMK(Low MemoryKiller)的機(jī)制,這種機(jī)制將進(jìn)程按照重要性進(jìn)行分級(jí)、分組內(nèi)存不足時(shí),將處于最低級(jí)別組的進(jìn)程關(guān)閉例如,在移動(dòng)設(shè)備當(dāng)用戶界面處于最高級(jí)別,所以該進(jìn)程永遠(yuǎn)不會(huì)被關(guān)閉這
43、樣,在終端用戶看來(lái),系統(tǒng)是穩(wěn)定運(yùn)行的在 Andorid 內(nèi)核源碼 LMK 的置是 oredroid/drivers/mist/lowme-morykiller.c 與此同時(shí),Android 新增加了一種內(nèi)存共享的處理方式 Ashmem (AnonymousShared Memory ,匿名共享內(nèi)存)通過(guò) Ashmem,進(jìn)程間可以匿名自由共享具名的內(nèi)存塊。這種共享方式在標(biāo)準(zhǔn) Linux 當(dāng)中不被支持。Ashmem 分配情況如下:fd = ashmem_create_region(“my_shm_region”,size)if(fd 0)return -1;data = mmap(NULL,siz
44、e,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);if (data = MAP_FAILED)goto out;但出于安全原因,其他進(jìn)程無(wú)法訪問(wèn)此名稱(my_shm_region)區(qū)域.文哈爾濱理工大學(xué)學(xué)士學(xué)位論文10件描述符指向該共享內(nèi)存區(qū)域,實(shí)際上是通過(guò) IPC 綁定接口。在 Andorid 內(nèi)核源碼中 Ashmem 的位置是 coredroid/mm/ashmem.c。圖 2-3 Lib 和運(yùn)行環(huán)境示意圖如圖 2-3 所示:C/C+庫(kù)被各種 Android 組件使用并且通過(guò)應(yīng)用程序框架開(kāi)發(fā)者可以使用其功能,這些功能包括單不限于:媒體庫(kù)如 MPEG4 、H.2
45、64、 MP3、JPG 、PNG 等;WebKit/LibWebCore Web 瀏覽引擎;SQLite 關(guān)系數(shù)據(jù)庫(kù)引擎;2D, 3D 圖形庫(kù)、引擎;android 有豐富的類庫(kù)支持,包括:2D 和 3D 圖像庫(kù) OpenGL、數(shù)據(jù)庫(kù) SQLite、對(duì)象數(shù)據(jù)庫(kù) db 類庫(kù)、媒體庫(kù)、基本 linux 底層系統(tǒng) C 庫(kù)等等,讓?xiě)?yīng)用開(kāi)發(fā)更簡(jiǎn)單多樣。Google 使用 Apache 的 Harmony 類庫(kù),Harmony 某些方面速度快于 Sun 的 VMoRuntime 在 Dalvik Java VM 上,Dalvik 采用簡(jiǎn)練、高效的 bytecode 格式運(yùn)行,它能夠在低資耗和沒(méi)有應(yīng)用相互干
46、擾的情況下并行執(zhí)行多個(gè)應(yīng)用。其在運(yùn)行時(shí)的主要特點(diǎn)有:每一個(gè) Android 應(yīng)用程序在它自己的 Dalvik VM 實(shí)例中運(yùn)行 VM 執(zhí)行優(yōu)化的 Dalvik 可執(zhí)行文件(.dex)。Dx 工具把編譯過(guò)的 Java 文件轉(zhuǎn)換為 dex 文件核心庫(kù)提供的 Java 功能,Dalvik 虛擬機(jī)依賴于 Linux 內(nèi)核,例如線程或底層內(nèi)存管理。設(shè)備可以運(yùn)行多個(gè) Dalvik 虛擬機(jī)。Android 應(yīng)用層它包括 Android 核心應(yīng)用,它主要簡(jiǎn)化組件的重用,盡管內(nèi)核適用 c/c+程序庫(kù),但是在應(yīng)用層開(kāi)發(fā)時(shí),使用 Java 編寫(xiě)應(yīng)用程序例如聯(lián)系人,電子郵件,電話,瀏覽器,日歷,地圖,此層次上有充分訪
47、問(wèn)所有核心應(yīng)用框架 API。Android 應(yīng)用層如圖 2-4 :圖 2-4 應(yīng)用框架示意圖Suface ManagerMediaFrameworkSQLiteOpenGLJESFreeTypcWebkitSGLSSLlibcCore LibrariesDalvikVirualMachineCore ServiesMediaAndroid 執(zhí)行程序程序庫(kù)哈爾濱理工大學(xué)學(xué)士學(xué)位論文112.2.2 Android 代碼結(jié)構(gòu)分析Android 源代碼包括 3 個(gè)部分: 包(Package)提供 Android 的應(yīng)用程序和服務(wù);核心工程(Core Project 文件夾)是建立 Android 系統(tǒng)
48、的基礎(chǔ),在根目錄的各個(gè)文件夾中;擴(kuò)展工程( External Project 文件夾中)是使用其他開(kāi)源項(xiàng)目擴(kuò)展功能而其中既包含了原始 Android 的目標(biāo)機(jī)代碼,還包括了主機(jī)編譯工具、仿真環(huán)境等。主要的兩個(gè)日錄為 host 和 target,前者表示在主機(jī)(x86)生成的工具,后者表示目標(biāo)機(jī)(默認(rèn)為 ARM v5)運(yùn)行的內(nèi)容。2.2.3 Android 驅(qū)動(dòng)Android 中內(nèi)核的結(jié)構(gòu)和標(biāo)準(zhǔn) L inux2. 6 內(nèi)核結(jié)構(gòu)基本上是相同的,區(qū)別僅僅在于增加了部分私有內(nèi)容。Android 在標(biāo)準(zhǔn)的 Linux 內(nèi)核中的驅(qū)動(dòng)主要分成兩種類型:Android 專用驅(qū)動(dòng)和提供給 Android 使用的
49、設(shè)備驅(qū)動(dòng)。下面就 2 種類型進(jìn)行分別介紹:主要的專用驅(qū)動(dòng)有:Ashmen:匿名共享內(nèi)存驅(qū)動(dòng);Logger.輕量級(jí)的 bg 驅(qū)動(dòng);Bfinder.基于 OpenB finder 系統(tǒng)的驅(qū)動(dòng),為 Android 平臺(tái)提供 IPC 支持;AndroidPowerManagernent (1M):電源管理模塊;Low Memory Kill:在缺少內(nèi)存的情況下,殺死進(jìn)程;Android pmem:物理內(nèi)存驅(qū)動(dòng)。下面針對(duì) Android 各個(gè)類型驅(qū)動(dòng)進(jìn)行詳細(xì)介紹。Ashmen 即匿名共享內(nèi)存(Anonymous SharedMemo-ry),其主要作用是為用戶空間程序提供分配內(nèi)存的機(jī)制,實(shí)現(xiàn)類似于 ma
50、lloc 的功能。主設(shè)備號(hào)為 10,次設(shè)備號(hào)動(dòng)態(tài)生成。其設(shè)備節(jié)點(diǎn)名稱為:dev/ashmen.在內(nèi)核中的其驅(qū)動(dòng)程序頭文件和代碼路徑如下:Kemel/ include/linux/ashmen. hKemel/mm /ashmen. c在用戶空間 C libutil 庫(kù)對(duì) Ashmen 進(jìn)行封裝并提供接口;System /core/include/cutils/ashmen. h 簡(jiǎn)單封裝頭文件;ystem /core/libcutils / ashmen - dev. c 匿名共享內(nèi)存在用戶空間的調(diào)用封裝;System /core/libcutils / ashmem- host c 沒(méi)有使用
51、。B finder:為用戶層程序提供進(jìn)程間通信支持,Android 整個(gè)系統(tǒng)的運(yùn)行依賴 Bfinder 驅(qū)動(dòng)。主設(shè)備號(hào)為 10,次設(shè)備號(hào)動(dòng)態(tài)生成。其設(shè)備節(jié)點(diǎn)名稱為:/dev/binder;在內(nèi)核中的 B finder 驅(qū)動(dòng)程序頭文件和代碼路徑如下:Kemel/include/linux/binder. hKemel/drivers/misc/binder. c在用戶空空間 libati1 工具庫(kù)和 Service Manager 守護(hù)進(jìn)程中調(diào)用 B finder 接口提供對(duì)整個(gè)系統(tǒng)的支持。哈爾濱理工大學(xué)學(xué)士學(xué)位論文12Frameworks/base/cords/ service/nanager
52、/ServerManager 守護(hù)進(jìn)程的實(shí)現(xiàn);Framewoks/base/include /utils/ B finder 驅(qū)動(dòng)在用戶空問(wèn)的封裝接口;Framworks/base/libs/utils/ B finder 驅(qū)動(dòng)在用戶空問(wèn)的封裝實(shí)現(xiàn)。Bfinder 是 Android 中主要使用的 IPC 方式,使用時(shí)通常只需要按照模板定義相關(guān)的類即可,不需要直接調(diào)用 B finder 驅(qū)動(dòng)程序的設(shè)備節(jié)點(diǎn)。Logger 該驅(qū)動(dòng)程序?yàn)橛脩魧映绦蛱峁?log 支持,作為一個(gè)工具使用。在用戶空間中有 3 個(gè)設(shè)備節(jié)點(diǎn):/dev/log/main, /dev/log/event /dev/log/rad
53、io。內(nèi)核中的 Logger 驅(qū)動(dòng)的頭文件和代碼路徑如下:Kemel/include/linux/logger. hKemel/ driver/m isc/logger. c在 Android 的用戶空間 logcat 程序調(diào)用 Logger 驅(qū)動(dòng):System /core/logcat/+執(zhí)行程序。Logca 是一個(gè)可執(zhí)行程序,用于提取系統(tǒng) log 信息,是系統(tǒng)的一個(gè)輔助工具。2.3 Eclipse 簡(jiǎn)介Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,
54、包括 Java 開(kāi)發(fā)工具(Java Development Kit,JDK)。 雖然大多數(shù)用戶很樂(lè)于將 Eclipse 當(dāng)作 Java 集成開(kāi)發(fā)環(huán)境(IDE)來(lái)使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等
55、和一致性并不僅限于 Java 開(kāi)發(fā)工具。盡管 Eclipse 是使用 Java 語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于 Java 語(yǔ)言;例如,支持諸如 C/C+ 和 COBOL 等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse 框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;?Eclipse 的應(yīng)用程序的一個(gè)突出例子是 IBM Rational Software Architect,它構(gòu)成了 IBM Java 開(kāi)發(fā)工具系列的基礎(chǔ)。從 2006 年起,Eclipse 基金會(huì)每年都會(huì)安排同步發(fā)布(simultaneous release)。至今,同步發(fā)布主要在 6 月
56、進(jìn)行,并且會(huì)在接下來(lái)的 9 月及 2 月釋放出SR1 及 SR2 版本。 Eclipse 是著名的跨平臺(tái)的自由集成開(kāi)發(fā)環(huán)境(IDE)。最初主要用來(lái) Java哈爾濱理工大學(xué)學(xué)士學(xué)位論文13語(yǔ)言開(kāi)發(fā),但是目前亦有人通過(guò)插件使其作為其他計(jì)算機(jī)語(yǔ)言比如 C+和Python 的開(kāi)發(fā)工具。Eclipse 的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得 Eclipse 擁有其他功能相對(duì)固定的 IDE 軟件很難具有的靈活性。許多軟件開(kāi)發(fā)商以 Eclipse 為框架開(kāi)發(fā)自己的 IDE 。Eclipse 最初由 OTI 和IBM 兩家公司的 IDE 產(chǎn)品開(kāi)發(fā)組創(chuàng)建,起始于 1999 年 4 月。IBM 提供了最初
57、的 Eclipse 代碼基礎(chǔ),包括 Platform、JDT 和 PDE。目前由 IBM 牽頭,圍繞著 Eclipse 項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的 Eclipse 聯(lián)盟,有 150 多家軟件公司參與到 Eclipse 項(xiàng)目中,其中包括 Borland、Rational Software、Red Hat 及 Sybase 等。Eclipse 是一個(gè)開(kāi)發(fā)源碼項(xiàng)目,它其實(shí)是Visual Age for Java 的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其開(kāi)放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開(kāi)發(fā)各自的插件,因此越來(lái)越受人們關(guān)注。近期還有包括 Ora
58、cle 在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱 Eclipse 將來(lái)能成為可進(jìn)行任何語(yǔ)言開(kāi)發(fā)的IDE 集大成者,使用者只需下載各種語(yǔ)言的插件即可。Eclipse 的插件機(jī)制是輕型軟件組件化架構(gòu)。在富客戶機(jī)平臺(tái)上,Eclipse 使用插件來(lái)提供所有的附加功能,例如支持 Java 以外的其他語(yǔ)言10。已有的分離的插件已經(jīng)能夠支持 C/C+(CDT)、Perl、Ruby,Python、telnet 和數(shù)據(jù)庫(kù)開(kāi)發(fā)。插件架構(gòu)能夠支持將任意的擴(kuò)展加入到 現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語(yǔ)言。Eclipse 的設(shè)計(jì)思想是:一切皆插件。Eclipse 核心很小,其它所有功能都以插件的形
59、式附加于 Eclipse 核心之上。Eclipse 基本內(nèi)核包括:圖形API (SWT/Jface), Java 開(kāi)發(fā)環(huán)境插件(JDT ),插件開(kāi)發(fā)環(huán)境(PDE)等11。Eclipse 是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由 Eclipse 項(xiàng)目、Eclipse 工具項(xiàng)目和 Eclipse 技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成Eclipse Platform、JDT、CDT 和 PDE。JDT 支持 Java 開(kāi)發(fā)、CDT 支持 C 開(kāi)發(fā)、PDE 用來(lái)支持插件開(kāi)發(fā),Eclipse Platform 則是一個(gè)開(kāi)放的可擴(kuò)展
60、 IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的基礎(chǔ)12。Eclipse Platform 允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開(kāi)始。哈爾濱理工大學(xué)學(xué)士學(xué)位論文14第第 3 章章 需求分析需求分析3.1 系統(tǒng)目的Android 平臺(tái)不提供自帶的軟件管理系統(tǒng)。隨著 Android 手機(jī)越來(lái)越普及,在平臺(tái)之上的軟件越來(lái)越豐富,沒(méi)有軟件管理器的特點(diǎn)在一定程度上影響了用戶的體驗(yàn)。Android 平臺(tái)的可定制的特點(diǎn),整合了 Android 提供給用戶使用的用戶控件進(jìn)行系統(tǒng)的界面設(shè)計(jì)。以期望應(yīng)用軟件能盡可能的為他們提
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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è)技術(shù)智能監(jiān)控系統(tǒng)布設(shè)協(xié)議2024版B版
- 個(gè)性化2024版動(dòng)力煤托盤協(xié)議示例版
- 專業(yè)教師2024年度聘用協(xié)議范例版B版
- 閱讀理解技巧講座
- 二零二四年云服務(wù)租賃協(xié)議
- 2025年度科技園區(qū)場(chǎng)地?zé)o償使用及知識(shí)產(chǎn)權(quán)共享協(xié)議4篇
- 2025年度叉車維修及配件供應(yīng)一體化服務(wù)合同4篇
- 2025年度場(chǎng)崗位員工保密協(xié)議執(zhí)行細(xì)則4篇
- 專屬委托銷售代表協(xié)議樣式(2024)版A版
- 2025年度影視基地場(chǎng)地租賃合同24篇
- 民航概論5套模擬試卷考試題帶答案
- 2024屆中國(guó)電建地產(chǎn)校園招聘網(wǎng)申平臺(tái)高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 名表買賣合同協(xié)議書(shū)
- COCA20000詞匯音標(biāo)版表格
- 滬教版七年級(jí)數(shù)學(xué)上冊(cè)專題06圖形的運(yùn)動(dòng)(原卷版+解析)
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 中西方校服文化差異研究
- 2024年一級(jí)建造師考試思維導(dǎo)圖-市政
評(píng)論
0/150
提交評(píng)論