新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > Linux手機(jī)軟件平臺創(chuàng)建工具

Linux手機(jī)軟件平臺創(chuàng)建工具

作者: 時間:2012-10-22 來源:網(wǎng)絡(luò) 收藏

摘 要: 隨著手機(jī)功能的豐富和使用領(lǐng)域的拓廣,技術(shù)越來越被重視。對手機(jī)開發(fā)和手機(jī)性能上的影響,已經(jīng)使其成為技術(shù)領(lǐng)域內(nèi)一個研究的熱點(diǎn)。為了使基于 的嵌入式軟件的建立、集成和分配更容易,需要一個平臺,以提高手機(jī)軟件平臺的開發(fā)效率。手機(jī)軟件平臺是一個圖形用戶界面的系統(tǒng)集成和分配,功能覆蓋了手機(jī)軟件平臺的全過程。分析了基于 的手機(jī)軟件平臺的優(yōu)勢,探討了軟件包管理方式,描述了平臺創(chuàng)建工具的系統(tǒng)結(jié)構(gòu)和相關(guān)技術(shù),并討論了該工具在手機(jī)軟件開發(fā)過程中所起的重要作用。

本文引用地址:http://m.butianyuan.cn/article/164819.htm

  1 引言

  隨著手機(jī)功能的迅速發(fā)展,越來越多手機(jī)上的軟件功能已經(jīng)和個人計(jì)算機(jī)上的軟件功能非常相近。因此,手機(jī)也需要功能更加強(qiáng)大的操作系統(tǒng)作為支持。

  基于 操作系統(tǒng)的手機(jī)軟件平臺,已經(jīng)被認(rèn)為是下一代手機(jī)軟件平臺。

  當(dāng)前,已經(jīng)有很多手機(jī)開發(fā)商開始采用手機(jī)軟件平臺。但是,手機(jī)軟件平臺在提供可靠的手機(jī)操作系統(tǒng)和優(yōu)質(zhì)軟件的同時,需要花費(fèi)大量的時間、人力、財(cái)力進(jìn)行創(chuàng)建。原始的手機(jī)軟件平臺開發(fā)方式不僅效率低,而且對開發(fā)人員的技術(shù)水平的要求較高,需要經(jīng)過大量的培訓(xùn)才能勝任,這必然會增加產(chǎn)品的開發(fā)成本。手機(jī)開發(fā)商們正在為創(chuàng)建屬于自己的下一代手機(jī)軟件平臺尋找更加方便、高效的方法。

  2 基于Linux的手機(jī)軟件平臺

  個人計(jì)算機(jī)因?yàn)閾碛胁僮飨到y(tǒng)以及運(yùn)行于操作系統(tǒng)之上的軟件,而具有豐富的功能。同樣,手機(jī)也在提供不斷豐富的功能,需要強(qiáng)大的操作系統(tǒng)和軟件作為支持。與其它操作系統(tǒng)相比,采用開放源代碼的Linux 操作系統(tǒng)作為手機(jī)操作系統(tǒng)能夠大大降低手機(jī)開發(fā)成本。開放源代碼的另一個好處是允許手機(jī)生產(chǎn)商根據(jù)實(shí)際情況,有針對性地開發(fā)適合自己手機(jī)的Linux 操作系統(tǒng),這樣既能讓自己的產(chǎn)品有特色,又能避免受制于人,還能夠滿足用戶多方面的應(yīng)用需求。

  手機(jī)軟件平臺的概念可概括為:

  (1) 手機(jī)軟件平臺基于一定的硬件架構(gòu)之上,特定的軟件平臺一般只能用于特定廠商的硬件體系;(2) 手機(jī)軟件平臺提供對應(yīng)用程序的基礎(chǔ)支持;(3) 手機(jī)軟件平臺自帶一些應(yīng)用;(4) 手機(jī)軟件平臺能夠方便的進(jìn)行擴(kuò)展,手機(jī)軟件開發(fā)者能夠在平臺上方便的建立新的功能,這也是最重要的功能之一。

  手機(jī)軟件平臺架構(gòu)在手機(jī)操作系統(tǒng)之上,通過抽象層與不同操作系統(tǒng)進(jìn)行集成。一個完整的軟件平臺主要包括中間件、系統(tǒng)抽象層、關(guān)鍵應(yīng)用軟件和SDK(Software Developers Kit)開發(fā)環(huán)境。軟件平臺不能取代操作系統(tǒng)。但是就應(yīng)用軟件來說,可以在軟件平臺上直接開發(fā),這也是手機(jī)軟件平臺的一個重要應(yīng)用。

  手機(jī)生產(chǎn)商之間的競爭越來越激烈,新產(chǎn)品層出不窮,面對新的市場要求,只要在已有平臺上加以擴(kuò)展,就能很快推出新的手機(jī)產(chǎn)品,在競爭中取得優(yōu)勢。

  3 平臺創(chuàng)建工具開發(fā)背景

  3.1 手機(jī)軟件平臺開發(fā)現(xiàn)狀

  手機(jī)的整個開發(fā)流程如圖1 所示,其中手機(jī)軟件的開發(fā)包括創(chuàng)建平臺和產(chǎn)品開發(fā)兩部分。

圖1 手機(jī)開發(fā)流程

圖1 手機(jī)開發(fā)流程

  創(chuàng)建手機(jī)軟件平臺是一個龐大的工程,需要構(gòu)建很多功能部件,每一個功能部件都獨(dú)立存在,但又相輔相成,需要多方的協(xié)同合作共同完成,整套流程需要很長時間。

  目前做完全構(gòu)建的實(shí)際情況是,對一個功能部件做一次完全構(gòu)建一般需要3 個小時以上,開發(fā)人員只有等待構(gòu)建完成才能進(jìn)行下一步的工作。在理想情況下,3 小時后構(gòu)建成功,并且測試通過。但一般情況下,由于源代碼的問題,構(gòu)建經(jīng)常在進(jìn)行過程中半途失敗,需要修改源代碼重新進(jìn)行構(gòu)建。即使構(gòu)建成功,如果在測試過程中發(fā)現(xiàn)問題,又要進(jìn)行代碼修改,然后重新進(jìn)行構(gòu)建,如此反復(fù)數(shù)遍。對于經(jīng)驗(yàn)不足的開發(fā)人員,或者處在一個功能部件開發(fā)的初期,這種重新構(gòu)建的出現(xiàn)頻率會大大提高,這將浪費(fèi)大量的精力,工作效率也會大幅下降。任何一個功能部件的修改對整個平臺都會造成影響,需要對整個平臺重新進(jìn)行建構(gòu),面對競爭越發(fā)激烈的市場,這將增加產(chǎn)品的開發(fā)成本、增長開發(fā)周期。

  未來手機(jī)產(chǎn)品競爭最核心的是軟件平臺,并將成為一些大的手機(jī)品牌的最后競爭領(lǐng)域。Linux 操作系統(tǒng)作為一個免費(fèi)開源系統(tǒng),Linux 手機(jī)軟件平臺在降低手機(jī)生產(chǎn)商研發(fā)成本、提高新品上市響應(yīng)時間、實(shí)現(xiàn)產(chǎn)品個性化設(shè)計(jì)三個方面表現(xiàn)尤為突出。Linux 手機(jī)軟件平臺已成為眾多資深專家和手機(jī)生產(chǎn)商認(rèn)定的下一代手機(jī)軟件平臺,有著廣闊的發(fā)展前景。

  3.2 RPM 軟件包管理。

  一個解決現(xiàn)狀的方法是使用軟件包管理方式。包管理系統(tǒng)由包括程序、數(shù)據(jù)、文檔、配置信息的眾多文件組成,它們存儲在一個特殊的格式文件--包文件中?;诎南到y(tǒng)集成和發(fā)行,已經(jīng)廣泛應(yīng)用于當(dāng)代的Linux 發(fā)行商。目前兩個最流行的包管理方法是Red Hat 的RPM (Red Hat Package Manager)和Debian 的dpkg.

  RPM 軟件包管理是開發(fā)打包系統(tǒng),任何人都可以使用。對于終端用戶,RPM 提供了很多功能,使得軟件的維護(hù)遠(yuǎn)比以前容易。通過簡短的命令就可完成RPM 包的安裝、卸載和升級,所有雜亂的細(xì)節(jié)都經(jīng)過了處理。 RPM 對已經(jīng)安裝的包及文件形成的數(shù)據(jù)庫進(jìn)行維護(hù),可以在系統(tǒng)上使用功能強(qiáng)大的查詢和校驗(yàn)功能[1].一個RPM 包中的應(yīng)用程序,有時除了自身所帶的附加文件保證其正常運(yùn)行以外,還需要其它特定版本的文件作為支持,這就是軟件包的依賴關(guān)系[2].

  使用RPM 管理軟件后,軟件的安裝流程如圖2 所示。

圖2 使用RPM 的軟件安裝流程圖。

圖2 使用RPM 的軟件安裝流程圖。

4 平臺創(chuàng)建工具開發(fā)背景

  經(jīng)過十多年的發(fā)展,基于Linux 的開發(fā)已經(jīng)不再是最開始對所有內(nèi)容進(jìn)行構(gòu)建的時代。在桌面領(lǐng)域,Linux 已經(jīng)成為一個擁有成熟的軟件構(gòu)建區(qū)塊和綜合工具的開發(fā)系統(tǒng)。然而,在嵌入式領(lǐng)域,在將傳統(tǒng)的原始數(shù)據(jù)驅(qū)動開發(fā)模式轉(zhuǎn)換為新的基于包的開發(fā)模式方面,Linux 操作系統(tǒng)還存在一些差距。

  原始數(shù)據(jù)驅(qū)動開發(fā)模式的主要問題在于,它沒有一個有效的方法去控制功能部件之間的分界,這會導(dǎo)致功能部件代碼之間的依賴超過了API (ApplicationProgramming Interface),最終會使整個平臺功能部件間的關(guān)系變得更加復(fù)雜。這些復(fù)雜的功能部件將堆積在平臺源代碼中,使以后的識別和修改更困難。經(jīng)過多年的發(fā)展,整個軟件平臺都將難以進(jìn)行擴(kuò)展、剪裁和定制,以適應(yīng)產(chǎn)品改變的需要。

  由于手機(jī)生產(chǎn)商已經(jīng)確認(rèn)將Linux 作為下一代手機(jī)軟件平臺,基于Linux 的手機(jī)產(chǎn)品功能開發(fā)將成為一個主流。為了讓開發(fā)得以實(shí)現(xiàn),需要建立一個合理的綜合開發(fā)環(huán)境,其中包括整套的開發(fā)流程和開發(fā)工具,其關(guān)鍵在于如何定制和發(fā)行一個完整的軟件平臺。

  盡管傳統(tǒng)的基于源代碼的系統(tǒng)集成依然可以滿足需求,但是積累的工程經(jīng)驗(yàn)傾向于基于軟件包的系統(tǒng)集成和部署方案,因?yàn)榛谲浖姆桨敢呀?jīng)被證明更加可靠、靈活、安全??梢灶A(yù)見,基于軟件包的系統(tǒng)集成方案將在平臺集成和發(fā)行上占據(jù)優(yōu)勢。

  Linux 企業(yè)解決方案提供商試圖縮小Linux 操作系統(tǒng)在嵌入式領(lǐng)域的差距。但是,只有先建立適合開發(fā)的基礎(chǔ)結(jié)構(gòu),Linux 企業(yè)解決方案提交的包格式才能充分發(fā)揮作用。手機(jī)軟件平臺創(chuàng)建工具,就是一個基于RPM 的平臺構(gòu)建、管理、部署系統(tǒng)工具,還對嵌入式系統(tǒng)的發(fā)行提供強(qiáng)大的支持。圖3 舉例說明了平臺創(chuàng)建工具基于RPM 軟件包的工作模式。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉