MGX與mpkg
MPKG歷史提到MGX就不得不說MPKG.。MPKG軟體是在Linux下的一種軟體包.moto系列裝有linux系統的手機支持這種格式軟體的
07年夏天,在Palm公司為自己全新的LiNUX系統平台命名Wind River的時候,摩托羅拉公司也發布了自己全新的移動Linux平台,被稱為是全新一代的motomagx平台將成為摩托羅拉移動設備的全新架構,將為第三方開發應用程式在摩托羅拉移動設備上的套用帶來全新的感受。該系統手機目前多使用500Mhz主頻的飛思卡爾ARM11處理器,54M的RAM,為其提供良好的動力。
MOTOMAGX以Linux/Java作為系統核心,但是摩托羅拉公司在該平台產品的系統包加密,因而不被允許使用以QT為基礎的mpkg即Motorola Pakage程式,違背了當初開源的初衷。雖然其Java擴展性極佳,測試評分高但該系統硬體利用率不高,使用時完全感受不到500Mhz處理器的速度,視頻解碼差.
09年初,MOTO發布MPKG基於WEBUI的SDK,研發者可以在官網上下載編寫MPKG程式。表明官方承認以webUI套用環境為基礎的mpkg程式的使用,和QT平台不同,即不用再刷機就可使用mpkg擴展程式。官方在網站上先後發布了MPKG程式,標誌著MAGX平台的開放。因為有官方的支持webUI的MPKG看起來更有未來。WebUI也有其致命弱點,它不是Linux的原生程式,許可權更低,完全是在系統表面運行的程式。
在E2/Z6/V8破解的帶動下,俄羅斯網友先後發布NORSA即取消加密for U9 ZN5 E8 等,因而已經有E2 V8 Z6 可以使用QT語言的MPKG擴展程式,可以建立swap交換空間也就是LINUX的虛擬記憶體以增加其RAM,使這些手機在性能上有了質的飛躍。
而MGX也是mpkg是用系統語言編寫的,這個程式是直接在linux上運行的.It168論壇作為國內摩托羅拉破解的先驅,在ilove3d和眾多大大的努力下,E2、Z6直接支持原生程式,ZN5 E8 U9 EM30支持MPKGbox下執行專有的mgx程式,以及傻瓜式mgs主題安裝。ilove3d為了不讓人混淆,才把ZN5、E8、EM30、U9的格式定為了MGX,本質上都是LINUX系統可以識別運行的程式,但是為了加以區分,所以就在外殼擴展名上做了區分,不容易混淆。
ilove3d在E8的MPKG的開發的過程中完全可以把mgx做成e2的mpkg框架,首先e8本身moto就沒有給寫入軟體安裝的接口,所以ilove3d就自己寫上了,但是過程中把原本隱藏目錄的system/downloard的程式安裝目錄更改為了可見的mpkgbox,這樣就增大了修改許可權方便你去做手腳。另外把原本的desktop路徑識別檔案改為了cfg配置檔案,更簡潔更方便。此外無任何不一樣的地方,在linux是的執行檔是.lin和.sh mgx只是個打包檔案。就好比你在電腦上安裝程式,無論你安裝到哪裡都可以正常運行一樣。mgx相比mpkg僅僅是改動了路徑,所以mpkg沒有比mgx好,只是e8本身qt環境和e2不同所導致的不兼容。mgx和mpkg都只是個打包的資料庫,說白了就是個把很多檔案打包成zip格式的壓縮檔,後來改成mgx了,安裝時系統首先識別mgx擴展名,然後執行ilove3d的腳本,識別cfg安裝目錄,把檔案解壓放到mpkgbox資料夾,而在e2上是識別desktop檔案將檔案解壓放入system/downloard資料夾。在不同的就是e2識別desktop後會在桌面建立軟體圖示進行關聯,這樣一個軟體就裝好了。而e8沒有這個功能,所以就用到3d大大的mpkgbox,所以軟體會顯示在mpkgbox里,這也就是本質的區別了,也就是說e8沒有把他當作一個程式來對待。
其實,只需稍做修改,MPKG完全可以移植到MGX上.但是由於會編寫的人少,造成MGX程式遠不如MPKG的豐富.
MGX、MPKG與JAVA系統的區別
mgx也就是mpkg是用系統語言編寫的,這個程式是直接在linux上運行的 .而java用的是java語言,系統本身不識別,要經過嵌入到系統里的java環境來解讀,然後系統才可以識別 這就是我們說的手機支持java2.0的功能,這個java2.0就相當於一個mgx軟體, 簡單的說,我們系統不能播放ape,但是裝了rockbox就可以了,rockbox和java2.0一樣,算是linux上比較大的軟體了,但是由於它可以獨立於linux系統外來運行,因此也稱作為一個嵌入linux的系統,比如e6上的OPIE系統就是這樣子 也就是說mgx是直接在linux上運行的,而java則相當不是一個執行檔,只能算是個資料庫,真正運行的是java2.0kvm的linux下可執行程式 在給個最簡單的比喻:java2.0和java軟體的關係好比是‘gba模擬器’和‘gba遊戲’的關係 .
再說一下他們的不同:mgx程式相當系統的一部分,可以完美融入到系統中,有最大許可權,可任意調用資料庫和其他應用程式,並且穩定性高,執行速度快。 而java則是必須建立在java2.0環境下的,這個環境是專門為手機軟體製造的,和電腦的java環境有很大差別,電腦商很多大程式都是用java語言編寫的,對於手機上的java2.0來說不免就顯得有諸多限制了;首先就是許可權問題,java軟體沒有許可權調用資料庫,因此很多需要讀取寫入數據的軟體在沒有授權的情況下是不可以完美運行的;另外主要是受到了java2.0平台的限制,手機上的java2.0是現在手機java軟體的一個通用平台,他本身就有各種限制各種問題在制約著java軟體的發展,java2.0是根據現有手機硬體情況等問題研發的手機間可以跨系統的通用平台,現在java2.0版本主要是對聲音檔案的處理很雞肋,他對小遊戲和小軟體里的聲音處理幾乎僅限於mid等一些小音頻檔案,因為他是以打包資料庫的方式運用在java2.0平台的,太大了會讀取不了,最重要的莏ava平台和linux是區分開來的,java有自己獨立的分配記憶體,我們現在的記憶體是擴展到4兆,所以大於4兆的檔案是無法運行的。但是市面很多java功能的手機分配的運行記憶體都是在1兆一下,因此只能運行1兆以下的java軟體:java軟體為了擴展市場,很多遊戲都是非常的小,都控制在800kb以內,。我們在沒有修改java堆鍵的時候java的運行記憶體為2兆,在運行飛信3.0的時候大約600kb,但是java是打包方式存在的,檔案越多解壓後占用空間越大,飛信3.0還有大量動態資料庫檔案,所以2兆運行記憶體顯然不夠無法運行,但是堆踐修改為4兆後就可以正常運行了:還有我們的多個java打包時也不能超過運行記憶體,因而你用打包軟體打包好的多個java無法運行。
java是被動運行的,因為他只是個資料庫,mgx是主動運行的,比如mgx可以做到你打開簡訊時顯示你新安裝的輸入法軟體,這就是主動性,因為他和系統‘融合’了,而java不可能做到!因為java只能在java平台的那一個視窗下運行,linux上的檔案他關聯不了,也就是說在linux系統下他起不了作用,視窗一關他就over了,就沒作用了!
對了有的java對系統有控制和修改作用,這個完全取決於java2.0這個‘軟體’和linux系統的融合性,能否起到作用完全看他怎么控制系統了,這個在各個系統上都是不一樣了,要看生產廠家都給了他什麼‘天賦’
主要就是他們是兩個系統,相互融合比較困難,java必須在java2.0的運行下才可以運行,就好比你把gba模擬器關掉,勢必gba遊戲不可能繼續運行,對他的再調用就顯得相當困難了.
magicbox
MAGICBOX是由ilove3d創造的一個集成的多功能軟體管理工具.
包含: MpkgBox2.0 TaskManager JavaBox LanuncherBo
加入了MagicBox程式的MOTOMAGX機器基本到了智慧型手機的程度,可以安裝mgx軟體,mgs主題,支持JAVA多任務一鍵切換,虛擬記憶體的開啟。可以對CPU進行鎖頻。但是還在收費階段,收費價格20RMB。
當然,2010年10月,在zn5方面,galaxian做出了zinebox,可以說是免費版的magicbox,用戶反應很好。