Linux手機軟件平臺創(chuàng)建工具
圖3 基于RPM 的軟件構建和發(fā)行。
在基于RPM 的解決方案中,開發(fā)人員只需要留心自己軟件包的源代碼VOB.VOB 是一個以版本的形式存儲項目產(chǎn)品和數(shù)據(jù)的資源庫。所有依賴的包都存儲在與RPM VOB 結合的RPM 發(fā)行服務器上,該服務器由軟件配置管理員維護。功能部件開發(fā)人員從發(fā)行服務器中獲得二進制RPM 包,并且在平臺創(chuàng)建工具的幫助下安裝構建環(huán)境。當開發(fā)進行到一定程度需要交付時,開發(fā)人員將提出構建請求。配置管理員將處理構建請求,并將請求構建的軟件包與其依賴的軟件包一同進行構建。之后,使用平臺創(chuàng)建工具通過RPM VOB和發(fā)行服務器發(fā)布版本。這樣,開發(fā)人員就可以使用新的版本進行增強開發(fā)。經(jīng)理和其他項目股東可以使用網(wǎng)絡瀏覽器查看發(fā)行進程和平臺變化。
當配置管理員所發(fā)布的RPM 包不可用時,開發(fā)人員還可以使用平臺創(chuàng)建工具調整這些包來解決相互依賴。
以上對于基礎結構的開發(fā),通過使用功能部件的發(fā)行包,增強了功能部件間的邊界和API 的訪問。所以,不會通過功能部件間的依賴看到它們的復雜性,確保手機軟件平臺擁有擴展性和適應性。
平臺創(chuàng)建工具就是要成為一個基于RPM 的平臺構建、管理、部署的系統(tǒng)工具,并對嵌入式系統(tǒng)的發(fā)行提供強大的支持。
5 平臺創(chuàng)建工具的設計目標
手機軟件平臺創(chuàng)建工具需要關注兩方面的問題:
其一是保證使用工具構建出的結果正確。使用工具能夠提高開發(fā)效率,縮短對開發(fā)人員的培訓時間,但最為重要的是保證最終生成鏡像的正確;其二是充分利用已經(jīng)生成的手機RootFS 和鏡像。在手機的開發(fā)過程中,會經(jīng)歷無數(shù)次的構建、測試、生成鏡像。每次發(fā)現(xiàn)問題、修改源代碼后,都需要再進行一次,但實際上每次改動往往并不多,如果充分利用過去的基礎,就可以節(jié)省大量的時間。
平臺創(chuàng)建工具應該維護一個工作區(qū),供使用者進行基于包的平臺建設、架構和發(fā)行。這個工作區(qū)應該是一個為唯一用戶維護當前工程數(shù)據(jù)和結構的獨立空間?;谶@個工作區(qū),平臺創(chuàng)建工具主要應該支持以下功能:
(1) 支持包管理操作,例如:安裝、卸載、升級、降級、信息查詢等;(2) 支持將源代碼RPM 包、源代碼目錄和二進制RPM 混合在一起的平臺構建;(3) 支持根據(jù)用戶指定的RPM 包生成手機RootFS;(4) 支持根據(jù)特定的系統(tǒng)分割、RootFS 內(nèi)容和RootFS 類型生成鏡像文件;(5) 調用鏡像燒制工具,將鏡像燒制到目標設備上;(6) 支持平臺定制,并能導出備份文件供今后使用;(7) 支持基于指定的RPM 包和RPM 開發(fā)包生成軟件開發(fā)工具包。運行庫、工具鏈、頭文件和軟件開發(fā)工具包的文件由用戶的RPM 開發(fā)包提供;(8) 提供插件機制,使新的目標和工具鏈可用。
6 平臺創(chuàng)建工具的作用
平臺創(chuàng)建工具的定位是一個圖形用戶界面系統(tǒng)集成和分配工具,用來幫助開發(fā)人員開發(fā)嵌入式程序,使基于Linux 的嵌入式軟件平臺的建立、集成和分配更容易。其亮點在于靈活的包管理機制、方便的平臺構造和部署、對不同生產(chǎn)線的支持、快速生成軟件開發(fā)工具包等,具有使用方便、工作效率高、資源重用性強等特點。最重要的是能夠大幅度的提高開發(fā)效率,并使開發(fā)人員和平臺配置管理人員擺脫復雜的命令行操作方式,通過清晰明了的GUI 完成工作,工作流如圖4 所示。
圖4 平臺創(chuàng)建工具工作流。
具體而言是針對Linux-Java 手機軟件平臺的集成和分配,以軟件包管理方式,替代繁雜的整體構建方式;以自動執(zhí)行的方式,替代人工的命令行操作方式,提高創(chuàng)建手機軟件平臺的效率,并使所創(chuàng)建的手機軟件平臺擁有更高的質量和更好的維護性。
手機軟件平臺的開發(fā)可具體分為:成分部件開發(fā)、平臺創(chuàng)建、系統(tǒng)集成和系統(tǒng)部署四部分,如圖5 所示。
圖5 Linux/Java 平臺構造模型。
可見,平臺創(chuàng)建工具的使用幾乎貫傳了整個平臺構造全過程。在成分部件開發(fā)階段,使用RPM 對開發(fā)好的各個成分部件進行分別打包后,交由平臺創(chuàng)建工具集中管理。在平臺創(chuàng)建階段,使用平臺創(chuàng)建工具對軟件包進行分塊處理,按照不同的分類成為一個個資源庫,并構建可運行平臺,建立軟件開發(fā)工具包。這時,對于指定生產(chǎn)線的手機軟件產(chǎn)品所需的軟件平臺就已經(jīng)成功建立,平臺擁有所有需要的軟件配置,并可生成出鏡像文件。最后使用鏡像燒制工具,將生成的鏡像燒到手機上,就可以進行系統(tǒng)測試了。
7 結語
使用基于包管理方式的平臺創(chuàng)建工具,不僅可以彌補原始開發(fā)方法的不足,還可自動為產(chǎn)品提供正確的配置,使得跟蹤包間的依賴關和進行軟件發(fā)布、安裝、卸載、升降級都更加容易,同時它還是最被廣泛接受的向開源軟件組織發(fā)布源碼的方法,便于確認開源軟件的靈活性。
手機軟件平臺創(chuàng)建工具作為一個圖形用戶界面系統(tǒng)集成和分配工具,用來幫助開發(fā)人員開發(fā)嵌入式程序,使基于Linux 的嵌入式軟件平臺的建立、集成和分配更容易。平臺創(chuàng)建工具的使用,將使手機開發(fā)商在降低開發(fā)成本的同時,開發(fā)出功能更加完善的手機軟件平臺,最終為用戶提供功能更加豐富的手機產(chǎn)品。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論