《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Linux手機軟件平臺創建工具
Linux手機軟件平臺創建工具
摘要: 手機軟件平臺創建工具作為一個圖形用戶界面系統集成和分配工具,用來幫助開發人員開發嵌入式程序,使基于Linux 的嵌入式軟件平臺的建立、集成和分配更容易。平臺創建工具的使用,將使手機開發商在降低開發成本的同時,開發出功能更加完善的手機軟件平臺,最終為用戶提供功能更加豐富的手機產品。
關鍵詞: 軟件 手機軟件 Linux
Abstract:
Key words :

1 引言

隨著手機功能的迅速發展,越來越多手機上的軟件功能已經和個人計算機上的軟件功能非常相近。因此,手機也需要功能更加強大的操作系統作為支持。

基于Linux 操作系統的手機軟件平臺,已經被認為是下一代手機軟件平臺。

當前,已經有很多手機開發商開始采用手機軟件平臺。但是,手機軟件平臺在提供可靠的手機操作系統和優質軟件的同時,需要花費大量的時間、人力、財力進行創建。原始的手機軟件平臺開發方式不僅效率低,而且對開發人員的技術水平的要求較高,需要經過大量的培訓才能勝任,這必然會增加產品的開發成本。手機開發商們正在為創建屬于自己的下一代手機軟件平臺尋找更加方便、高效的方法。

2 基于Linux的手機軟件平臺

個人計算機因為擁有操作系統以及運行于操作系統之上的軟件,而具有豐富的功能。同樣,手機也在提供不斷豐富的功能,需要強大的操作系統和軟件作為支持。與其它操作系統相比,采用開放源代碼的Linux 操作系統作為手機操作系統能夠大大降低手機開發成本。開放源代碼的另一個好處是允許手機生產商根據實際情況,有針對性地開發適合自己手機的Linux 操作系統,這樣既能讓自己的產品有特色,又能避免受制于人,還能夠滿足用戶多方面的應用需求。

手機軟件平臺的概念可概括為:

(1) 手機軟件平臺基于一定的硬件架構之上,特定的軟件平臺一般只能用于特定廠商的硬件體系;

(2) 手機軟件平臺提供對應用程序的基礎支持;

(3) 手機軟件平臺自帶一些應用;

(4) 手機軟件平臺能夠方便的進行擴展,手機軟件開發者能夠在平臺上方便的建立新的功能,這也是最重要的功能之一。

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

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

3 平臺創建工具開發背景

3.1 手機軟件平臺開發現狀

手機的整個開發流程如圖1 所示,其中手機軟件的開發包括創建平臺和產品開發兩部分。

圖1 手機開發流程

圖1 手機開發流程

創建手機軟件平臺是一個龐大的工程,需要構建很多功能部件,每一個功能部件都獨立存在,但又相輔相成,需要多方的協同合作共同完成,整套流程需要很長時間。

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

未來手機產品競爭最核心的是軟件平臺,并將成為一些大的手機品牌的最后競爭領域。Linux 操作系統作為一個免費開源系統,Linux 手機軟件平臺在降低手機生產商研發成本、提高新品上市響應時間、實現產品個性化設計三個方面表現尤為突出。Linux 手機軟件平臺已成為眾多資深專家和手機生產商認定的下一代手機軟件平臺,有著廣闊的發展前景。

3.2 RPM 軟件包管理。

一個解決現狀的方法是使用軟件包管理方式。包管理系統由包括程序、數據、文檔、配置信息的眾多文件組成,它們存儲在一個特殊的格式文件--包文件中。基于包的系統集成和發行,已經廣泛應用于當代的Linux 發行商。目前兩個最流行的包管理方法是Red Hat 的RPM (Red Hat Package Manager)和Debian 的dpkg.

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

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

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

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

4 平臺創建工具開發背景

經過十多年的發展,基于Linux 的開發已經不再是最開始對所有內容進行構建的時代。在桌面領域,Linux 已經成為一個擁有成熟的軟件構建區塊和綜合工具的開發系統。然而,在嵌入式領域,在將傳統的原始數據驅動開發模式轉換為新的基于包的開發模式方面,Linux 操作系統還存在一些差距。

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

由于手機生產商已經確認將Linux 作為下一代手機軟件平臺,基于Linux 的手機產品功能開發將成為一個主流。為了讓開發得以實現,需要建立一個合理的綜合開發環境,其中包括整套的開發流程和開發工具,其關鍵在于如何定制和發行一個完整的軟件平臺。

盡管傳統的基于源代碼的系統集成依然可以滿足需求,但是積累的工程經驗傾向于基于軟件包的系統集成和部署方案,因為基于軟件包的方案已經被證明更加可靠、靈活、安全。可以預見,基于軟件包的系統集成方案將在平臺集成和發行上占據優勢。

Linux 企業解決方案提供商試圖縮小Linux 操作系統在嵌入式領域的差距。但是,只有先建立適合開發的基礎結構,Linux 企業解決方案提交的包格式才能充分發揮作用。手機軟件平臺創建工具,就是一個基于RPM 的平臺構建、管理、部署系統工具,還對嵌入式系統的發行提供強大的支持。圖3 舉例說明了平臺創建工具基于RPM 軟件包的工作模式。

圖3 基于RPM 的軟件構建和發行。

圖3 基于RPM 的軟件構建和發行。

在基于RPM 的解決方案中,開發人員只需要留心自己軟件包的源代碼VOB.VOB 是一個以版本的形式存儲項目產品和數據的資源庫。所有依賴的包都存儲在與RPM VOB 結合的RPM 發行服務器上,該服務器由軟件配置管理員維護。功能部件開發人員從發行服務器中獲得二進制RPM 包,并且在平臺創建工具的幫助下安裝構建環境。當開發進行到一定程度需要交付時,開發人員將提出構建請求。配置管理員將處理構建請求,并將請求構建的軟件包與其依賴的軟件包一同進行構建。之后,使用平臺創建工具通過RPM VOB和發行服務器發布版本。這樣,開發人員就可以使用新的版本進行增強開發。經理和其他項目股東可以使用網絡瀏覽器查看發行進程和平臺變化。

當配置管理員所發布的RPM 包不可用時,開發人員還可以使用平臺創建工具調整這些包來解決相互依賴。

以上對于基礎結構的開發,通過使用功能部件的發行包,增強了功能部件間的邊界和API 的訪問。所以,不會通過功能部件間的依賴看到它們的復雜性,確保手機軟件平臺擁有擴展性和適應性。

平臺創建工具就是要成為一個基于RPM 的平臺構建、管理、部署的系統工具,并對嵌入式系統的發行提供強大的支持。

5 平臺創建工具的設計目標

手機軟件平臺創建工具需要關注兩方面的問題:

其一是保證使用工具構建出的結果正確。使用工具能夠提高開發效率,縮短對開發人員的培訓時間,但最為重要的是保證最終生成鏡像的正確;其二是充分利用已經生成的手機RootFS 和鏡像。在手機的開發過程中,會經歷無數次的構建、測試、生成鏡像。每次發現問題、修改源代碼后,都需要再進行一次,但實際上每次改動往往并不多,如果充分利用過去的基礎,就可以節省大量的時間。

平臺創建工具應該維護一個工作區,供使用者進行基于包的平臺建設、架構和發行。這個工作區應該是一個為唯一用戶維護當前工程數據和結構的獨立空間。基于這個工作區,平臺創建工具主要應該支持以下功能:

(1) 支持包管理操作,例如:安裝、卸載、升級、降級、信息查詢等;(2) 支持將源代碼RPM 包、源代碼目錄和二進制RPM 混合在一起的平臺構建;(3) 支持根據用戶指定的RPM 包生成手機RootFS;(4) 支持根據特定的系統分割、RootFS 內容和RootFS 類型生成鏡像文件;(5) 調用鏡像燒制工具,將鏡像燒制到目標設備上;(6) 支持平臺定制,并能導出備份文件供今后使用;(7) 支持基于指定的RPM 包和RPM 開發包生成軟件開發工具包。運行庫、工具鏈、頭文件和軟件開發工具包的文件由用戶的RPM 開發包提供;(8) 提供插件機制,使新的目標和工具鏈可用。

6 平臺創建工具的作用

平臺創建工具的定位是一個圖形用戶界面系統集成和分配工具,用來幫助開發人員開發嵌入式程序,使基于Linux 的嵌入式軟件平臺的建立、集成和分配更容易。其亮點在于靈活的包管理機制、方便的平臺構造和部署、對不同生產線的支持、快速生成軟件開發工具包等,具有使用方便、工作效率高、資源重用性強等特點。最重要的是能夠大幅度的提高開發效率,并使開發人員和平臺配置管理人員擺脫復雜的命令行操作方式,通過清晰明了的GUI 完成工作,工作流如圖4 所示。

圖4 平臺創建工具工作流。

圖4 平臺創建工具工作流。

具體而言是針對Linux-Java 手機軟件平臺的集成和分配,以軟件包管理方式,替代繁雜的整體構建方式;以自動執行的方式,替代人工的命令行操作方式,提高創建手機軟件平臺的效率,并使所創建的手機軟件平臺擁有更高的質量和更好的維護性。

手機軟件平臺的開發可具體分為:成分部件開發、平臺創建、系統集成和系統部署四部分,如圖5 所示。

圖5 Linux/Java 平臺構造模型。

圖5 Linux/Java 平臺構造模型。

可見,平臺創建工具的使用幾乎貫傳了整個平臺構造全過程。在成分部件開發階段,使用RPM 對開發好的各個成分部件進行分別打包后,交由平臺創建工具集中管理。在平臺創建階段,使用平臺創建工具對軟件包進行分塊處理,按照不同的分類成為一個個資源庫,并構建可運行平臺,建立軟件開發工具包。這時,對于指定生產線的手機軟件產品所需的軟件平臺就已經成功建立,平臺擁有所有需要的軟件配置,并可生成出鏡像文件。最后使用鏡像燒制工具,將生成的鏡像燒到手機上,就可以進行系統測試了。

7 結語

使用基于包管理方式的平臺創建工具,不僅可以彌補原始開發方法的不足,還可自動為產品提供正確的配置,使得跟蹤包間的依賴關和進行軟件發布、安裝、卸載、升降級都更加容易,同時它還是最被廣泛接受的向開源軟件組織發布源碼的方法,便于確認開源軟件的靈活性。

手機軟件平臺創建工具作為一個圖形用戶界面系統集成和分配工具,用來幫助開發人員開發嵌入式程序,使基于Linux 的嵌入式軟件平臺的建立、集成和分配更容易。平臺創建工具的使用,將使手機開發商在降低開發成本的同時,開發出功能更加完善的手機軟件平臺,最終為用戶提供功能更加豐富的手機產品。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 美女扒开腿让男生桶爽网站 | 国精品无码一区二区三区在线蜜臀 | 高清一区高清二区视频| 在线国产你懂的| 中文字幕专区高清在线观看| 欧美vpswindowssex| 伊人婷婷色香五月综合缴激情| 视频在线一区二区| 国产污片在线观看| 99在线小视频| 少妇真实被内射视频三四区| 久久久受www免费人成| 樱桃视频直播在线观看免费| 亲密爱人免费观看完整版| 美女胸又大又www又黄的网站| 国产成人免费a在线资源| 777米奇色狠狠888俺也去乱| 好男人好资源在线观看免费播放高清 | 一级毛片免费在线| 日韩在线天堂免费观看| 亚洲国产精品尤物yw在线观看| 精品一区二区三区视频| 国产一区二区在线观看麻豆| 国产精品三级视频| 国产综合激情在线亚洲第一页| 一级毛片免费视频网站| 日本不卡视频免费| 五月婷婷综合色| 欧美日韩国产在线人成| 人人澡人人澡人人看添欧美| 精品国产品香蕉在线观看| 国产乱子伦视频在线观看| 国产对白精品刺激一区二区| 国产精品毛片无遮挡| asspics美女裸体chinese| 岛国免费在线观看| 中文无码热在线视频| 日本电影一区二区三区| 亚州免费一级毛片| 欧美伊人久久大香线蕉在观| 亚洲熟女综合一区二区三区 |