深度剖析E680g應用一.所謂的Loader
草木瓜 20060818
一、寫在前面的話
E680g,已不能簡單理解為手機,而是一臺實實在在運行Linux操作系統的個人掌上電腦!
本文試圖通過探討E680g操作系統的架構,打造個人PDA,擴展其強勁的功能。
由于本人也剛接觸E680g不久,再加上Linux知識空白,文章深度也許還遠遠不能達到分析Linux內核源碼的層次,所以我加上了應用二字,足以說明是面向廣大普通用戶的。
對大多數人來講擴展應用軟件才是主要的內容。
此外本文所涉及內容皆不需要進行刷機,這對新手來說更容易接受罷。
二、進入正題
進入正題前還想說幾句廢話:首先,那就是砸鍋賣鐵也得要買塊擴展卡來,最好是1G的,否則就那點手機內存空間也沒有玩的必要了!其次,說明書必須認真閱讀,基本操作都不知道,又如何談得上玩轉?
三、探究Loader
A.安裝程序
只要你上了E680論壇,你可以看幾乎無所不在的L/M!說實話,Loader只不過是別人寫的一個簡單腳本,幾行代碼而已。可對剛入手E680g的人來說是很神秘的,純粹去研究Loader也沒有意義,然在我們一步一步探個究竟的過程中,你會發現自已的DIY能力卻提高了很多。
Loader的安裝程序有兩種,一種安裝在手機,另一種安裝在卡上。一般是個mtf文件 如:Loader_E680i_phone.mtf(手機)Loader_E680i_SD.mtf(SD卡)。
擴展名為mtf的文件可以直接被E680g執行。(再廢話點,復制到手機或者卡上點下該mtf文件就可以執行了。)
mtf文件的本質是linux下tar包的壓縮文件!不明白不要緊,可以將上面文件下改名為Loader_E680i_SD.tar.gz ,用winrar解壓縮,就可以看到一些文件。(有興趣可以看下Linux下tar,gunzip等相關shell命令的用法,那樣就會更清楚了。)
不管你是從哪里下載的Load安裝程序,這個目錄結構肯定都是一樣的!
如果mtf在E680g下運行,就是直接解壓縮到手機Linux操作系統環境下的對應路徑。
用卡版的Loader_E680i_SD.tar.gz為例,它其實就是解壓成如下文件:
/mmc/mmca1/.system/java/PlugCardDB
/diska/.system/QTDownLoad/loader/loader.desktop
/diska/.system/QTDownLoad/loader/loader.lin
/diska/.system/QTDownLoad/loader/loader.gif
/diska/.system/QTDownLoad/loader/loader_sm.gif
手機版Loader_E680i_phone.tar.gz路徑肯定是有所不同的,以下是手機版解壓的對
應文件:
/ezxlocal/download/appwrite/am/InstalledDB
/diska/.system/QTDownLoad/loader/loader.desktop
/diska/.system/QTDownLoad/loader/loader.lin
/diska/.system/QTDownLoad/loader/loader.gif
/diska/.system/QTDownLoad/loader/loader_sm.gif
可以看出卡版和手機版的唯一區別是有個DB不同!
在E680g上也存在這兩個文件,PlugCardDB和InstalledDB,存放外部程序(系統自帶游戲,自戶安裝的軟件)的配置信息。PlugCardDB存放安裝在卡里的程序信息,而InstalledDB存放安裝在手機里的程序信息。
在E680g開機或者更改菜單順序時會讀取這兩個DB文件來刷新菜單顯示。這兩個文件都是文本格式,可以用UltraEdit打開。
B.配置文件
我們先打開Loader安裝程序的這兩個文件,會發現InstalledDB除了一項關于Loader的配置內容還有其他一些內容,而PlugCardDB只有一項關于Loader的配置內容。這是因為做安裝包的人已經把手機自帶的游戲配置信息也寫到InstallDB里了。
以下是卡安裝版的Loader配置信息(PlugCardDB),手機版的Loader配置信息也差不多的。
[AppLinkInfo]
AppLinkCount = 100000001
[AppLinkRecord100000001]
AllPosition =
BigIcon = loader.gif
Directory = ../../../../diska/.system/QTDownLoad/loader
Exec = loader.lin
Group = 5
Icon = loader_sm.gif
InstalledDate =
JavaId = -1
Mime =
MpkgFile =
Name = Loader
OsVersion =
Position = 17
Rotation =
Shared = 0
Size = 10K
Type = 2
uid = 100000001
[MimeInfo]
MimeCount = 100000000