可能現(xiàn)在大家都刷機(jī)了吧,沒有刷機(jī)的可能很少了。不過可能還有部分朋友由于一些原因沒有刷機(jī),這個(gè)方法就是為你準(zhǔn)備的。
思路是把mpkg文件分成兩個(gè)部分,一個(gè)是新的mpkg包,另一個(gè)是放到sd卡上的mtf包。mpkg、mtf文件都是tar.gz格式的,是使用tar gzip混合壓縮的,一般壓縮率在50%或者更低。如果mpkg文件大小在2M,那么解壓縮后可能在4、5Mb左右,裝幾個(gè)這種文件手機(jī)的20M可用內(nèi)存就不夠了,所以mpkg文件要進(jìn)行修改,修改后的mpkg軟件、游戲,每個(gè)mpkg幾乎只占用手機(jī)內(nèi)存的4到5k的空間,安裝多少個(gè)mpkg文件都無所謂了。mpkg的文件在windows上可以通過winrar解壓,但是沒有辦法再壓縮成tgz格式(我沒有在網(wǎng)上找到這樣的軟件),所以需要linux的shell環(huán)境來壓縮,打建linux的shell環(huán)境的方法很多,一個(gè)是安裝linux系統(tǒng),另外一個(gè)是安裝vwware虛擬機(jī),還有就是安裝cygwin的模擬linux環(huán)境。手機(jī)上解壓縮的mpkg包是放到/diska/.system/QTDownload/目錄下,而mtf是根據(jù)包內(nèi)的絕對(duì)路徑解壓縮的,所以修改的思路就是把原有mpkg包解壓后分成兩部分,一個(gè)是mpkg包,包含.destop、.lin和.png文件,主要是用來引導(dǎo)mtf包中的核心程序;另外一個(gè)是mtf包,包含其余的文件,有核心的程序文件,和一些資源文件。
拿mp3player.mpkg文件來說,原包中是這個(gè)樣子:
./mp3player
./mp3player/COPYING
./mp3player/equalizer.conf
./mp3player/icon.png
./mp3player/icon_sm.png
./mp3player/mp3player
./mp3player/mp3player.conf
./mp3player/mp3player.desktop
./mp3player/mp3player.pl
./mp3player/README
./mp3player/skins
./mp3player/skins/Denon Antique.png
./mp3player/skins/Nucleo N-Log v2G.png
./mp3player/skins/Pioneer Wood.png
./mp3player/skins/Winamp X.png
./mp3player/zh-cn.qm
mpkg包中要改的就是原包中.destop文件“Exec=”后指明的那個(gè)文件,它是用來調(diào)用主程序文件的。mp3player包中.destop文件內(nèi)容如下:
[Desktop Entry]
BigIcon=icon.png
Comment=MP3 Player for E680i
Exec=mp3player
Icon=icon_sm.png
Name=MP3Player
Version=0.1
OsVersion=1.1
Shared=2
Type=application
要修改的就是“Exec=”后指明的那個(gè)文件。一般情況下這個(gè)文件應(yīng)該是.lin文件,是個(gè)腳本文件,但是此包中是個(gè)二進(jìn)制文件,其實(shí)就是主程序文件,不能修改,所以我們要添加一個(gè)mp3player.lin文件,用它來啟動(dòng)主程序,從而把主程序放到sd卡上,內(nèi)容如下:
#!/bin/sh
cd /mmc/mmca1/.system/QTDownLoad/mp3player
./mp3player
這是腳本文件中,第一行表示用/bin/sh文件來解釋執(zhí)行這個(gè)腳本,第二行表示進(jìn)入/mmc/mmca1/.system/QTDownLoad/mp3player目錄,第三行就是執(zhí)行當(dāng)前目錄下的mp3player文件。而.destop文件中也要做相應(yīng)的修改,“Exec=mp3player”改為“Exec=mp3player.lin”。
可能其他mpkg文件內(nèi)容不同,大概的方法都是類似的,可以自己嘗試。
接下來說一下如何打包。
在shell的命令行下,建立mp3player目錄:
mkdir mp3player
把.png、.destop、.lin放到mp3player目錄下,在mp3player目錄外執(zhí)行
tar zcvf mp3player.mpkg mp3player
這是把mp3player目錄打包為mp3player.mpkg文件。
其余文件放到mmc/mmca1/.system/QTDownLoad/mp3player下,建立方法:
mkdir -p mmc/mmca1/.system/QTDownLoad/mp3player
在目錄外執(zhí)行 tar zcvf mp3player.mtf mmc/mmca1/.system/QTDownLoad/mp3player
這是把mmc/mmca1/.system/QTDownLoad/mp3player打包為mp3player.mtf
修改完畢。
修改后的mpkg包:
mp3player
mp3player/icon.png
mp3player/icon_sm.png
mp3player/mp3player.desktop
mp3player/mp3player.lin
修改后的mtf包:
mmc/mmca1/.system/QTDownLoad/mp3player
mmc/mmca1/.system/QTDownLoad/mp3player/COPYING
mmc/mmca1/.system/QTDownLoad/mp3player/README
mmc/mmca1/.system/QTDownLoad/mp3player/equalizer.conf
mmc/mmca1/.system/QTDownLoad/mp3player/mp3player.conf
mmc/mmca1/.system/QTDownLoad/mp3player/skins
mmc/mmca1/.system/QTDownLoad/mp3player/skins/Denon Antique.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/Nucleo N-Log v2G.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/Pioneer Wood.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/Winamp X.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/Natalie Bottome.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/black.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/car.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/classical.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/dark blue.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/dragon.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/flame.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/green.png
mmc/mmca1/.system/QTDownLoad/mp3player/skins/sea.png
mmc/mmca1/.system/QTDownLoad/mp3player/zh-cn.qm
mmc/mmca1/.system/QTDownLoad/mp3player/mp3player.pl
mmc/mmca1/.system/QTDownLoad/mp3player/mp3player
可以看到mtf包中文件的路徑已經(jīng)變成了mmc/mmca1/.system/QTDownLoad/mp3player/,這個(gè)路徑就是絕對(duì)路徑,只有這樣,mtf包才能正常解壓縮。
新聞熱點(diǎn)
疑難解答
圖片精選