深度剖析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
你可以去你手機卡上看到這個PlugCardDB文件,親自對比一下。不過如果你還
是新手還不會telnet的話,那樣也沒關系。大容量模式連接電腦,可以在卡那個盤
符,路徑爲.system/java/下找到PlugCardDB文件。
下面我們列表詳細說明下這個配置文件的主要內容。
AppLinkCount = 100000001 安裝的程序最大序號
AppLinkRecord100000001,uid = 100000001
應用程序的安裝序號,不重複即可。
Directory 應用程序所在路徑。
BigIcon = loader.gif,Icon = loader_sm.gif
應用程序顯示在菜單上的大圖標和小圖標。
Exec 所執行的應用程序或腳本
JavaId 如果是Java程序 則爲正值,否則爲-1
Group =5 前4個是手機系統的Group,5,6是自定一,自定二
Position,AllPosition 顯示在菜單上的順序
Name 應用程序名稱
Type 內容很重要,下面詳細說明。
系統指定Java程序Type=5,其他應用程序Type=2。(你也可以設爲0,3,4,6至于效
果可以自行嘗試。)這裏需要著重說明的是,Type=2時Directory的路徑需要回退到頂
級目錄,前面須要加../../../../,因爲兩個DB文件都是在四級目錄以下,否則系統
不能識別。這裏還有個著名的問題,就是當Type=2時,系統不管配置信息如何,菜單
全部顯示「應用名稱」!讓人比較郁悶。這問題雖然可以通過刷機解決,然而卻是沒有
太大意義,因爲就裝MPKG的本身而言,其實也沒什麽必要。(後面會詳細說明)
C.Loader小結
讀到這裏,我們可以得出清晰的結論:所謂Loader的安裝過程,只是把loader這
個文件夾複制到手機的某個目錄,同時覆蓋掉InstallDB(手機版)或者PlugCardDB(卡版)
文件,即把這個目錄程序的配置信息加到DB文件中。
所以在安裝後,自己安裝的JAVA軟件肯定不在了,在InstallDB或者PlugCardDB已經
沒有了那些軟件的配置信息了。
Loader根本沒有必要裝在手機上!可以完全抛棄mtf安裝的方法,直接複制Loader文
件夾至卡的任一路徑。(記住要是標准路徑,不是你大容量的路徑。配好telnet,或者裝個
Qonsole一下就清楚了。)在PlugCardDB文件中手工加入配置信息即可。
D.Loader是什麽
那麽我們爲什麽要裝Loader,他有什麽用。UltraEdit打開loader.lin文件看下。
熟悉Linux的一看就知道,太簡單了!只是普通的一個Shell腳本,而起作用的就是
exec這句話。比如用test.sh用Loader關聯打開,系統Shell啓動Loader,執行到exec時,
就相當于exec test.sh。(如果不明白可以查看下Linux下相關Shell的腳本介紹。)
按理來說,在Linux在執行這種腳本是天經地義的事,只不過在E680g圖形化界面下
是不能直接運行的。
那怎麽辦?下面通過自定義Loader例子說明。
你隨便寫個腳本test.sh如下:
#!/bin/bash
cd /usr/SYSqtapp/mystuff
./mystuff
這個是啓動系統收藏夾的命令。再寫個test.load腳本:
#!/bin/bash
exec "$2" &
在卡上建個文件夾如/mmc/mcal1/test,把test.sh,test.load兩個腳本複制過去,
先在手機上點擊test.sh,肯定會顯示找不到可執行的程序,這時在PlugCardDB配置
信息加上如下內容:
[AppLinkRecord100000001]
AllPosition =
BigIcon =
Directory = ../../../../mmc/mmca1/test
Exec = test.load
Group =
Icon =
InstalledDate =
JavaId = -1
Mime =
MpkgFile =
Name =
OsVersion =
Position =
Rotation =
Shared = 0
Size =
Type = 2
uid = 100000001
(注:依情況更改AppLinkCount和AppLinkRecord,上面配置略去了很多次要內容,
只保留必要的。)
保存後,更改下菜單的順序,會發現有個感歎號的應用程序,不用管他,那是因爲
我們沒有指定菜單的圖標!這時選擇test.sh,然後用那個感歎號的應用程序打開,就會
發現成功打開了收藏夾!我們自已的Loader也成功了!
看到這裏,Loader的本質想必應該十分清楚了吧。
五、結束
理解的本文的Loader,再講MPKG,就簡單多了。下一篇主要分析MPKG的相關軟件。
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
深度剖析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
你可以去你手機卡上看到這個PlugCardDB文件,親自對比一下。不過如果你還
是新手還不會telnet的話,那樣也沒關系。大容量模式連接電腦,可以在卡那個盤
符,路徑爲.system/java/下找到PlugCardDB文件。
下面我們列表詳細說明下這個配置文件的主要內容。
AppLinkCount = 100000001 安裝的程序最大序號
AppLinkRecord100000001,uid = 100000001
應用程序的安裝序號,不重複即可。
Directory 應用程序所在路徑。
BigIcon = loader.gif,Icon = loader_sm.gif
應用程序顯示在菜單上的大圖標和小圖標。
Exec 所執行的應用程序或腳本
JavaId 如果是Java程序 則爲正值,否則爲-1
Group =5 前4個是手機系統的Group,5,6是自定一,自定二
Position,AllPosition 顯示在菜單上的順序
Name 應用程序名稱
Type 內容很重要,下面詳細說明。
系統指定Java程序Type=5,其他應用程序Type=2。(你也可以設爲0,3,4,6至于效
果可以自行嘗試。)這裏需要著重說明的是,Type=2時Directory的路徑需要回退到頂
級目錄,前面須要加../../../../,因爲兩個DB文件都是在四級目錄以下,否則系統
不能識別。這裏還有個著名的問題,就是當Type=2時,系統不管配置信息如何,菜單
全部顯示「應用名稱」!讓人比較郁悶。這問題雖然可以通過刷機解決,然而卻是沒有
太大意義,因爲就裝MPKG的本身而言,其實也沒什麽必要。(後面會詳細說明)
C.Loader小結
讀到這裏,我們可以得出清晰的結論:所謂Loader的安裝過程,只是把loader這
個文件夾複制到手機的某個目錄,同時覆蓋掉InstallDB(手機版)或者PlugCardDB(卡版)
文件,即把這個目錄程序的配置信息加到DB文件中。
所以在安裝後,自己安裝的JAVA軟件肯定不在了,在InstallDB或者PlugCardDB已經
沒有了那些軟件的配置信息了。
Loader根本沒有必要裝在手機上!可以完全抛棄mtf安裝的方法,直接複制Loader文
件夾至卡的任一路徑。(記住要是標准路徑,不是你大容量的路徑。配好telnet,或者裝個
Qonsole一下就清楚了。)在PlugCardDB文件中手工加入配置信息即可。
D.Loader是什麽
那麽我們爲什麽要裝Loader,他有什麽用。UltraEdit打開loader.lin文件看下。
熟悉Linux的一看就知道,太簡單了!只是普通的一個Shell腳本,而起作用的就是
exec這句話。比如用test.sh用Loader關聯打開,系統Shell啓動Loader,執行到exec時,
就相當于exec test.sh。(如果不明白可以查看下Linux下相關Shell的腳本介紹。)
按理來說,在Linux在執行這種腳本是天經地義的事,只不過在E680g圖形化界面下
是不能直接運行的。
那怎麽辦?下面通過自定義Loader例子說明。
你隨便寫個腳本test.sh如下:
#!/bin/bash
cd /usr/SYSqtapp/mystuff
./mystuff
這個是啓動系統收藏夾的命令。再寫個test.load腳本:
#!/bin/bash
exec "$2" &
在卡上建個文件夾如/mmc/mcal1/test,把test.sh,test.load兩個腳本複制過去,
先在手機上點擊test.sh,肯定會顯示找不到可執行的程序,這時在PlugCardDB配置
信息加上如下內容:
[AppLinkRecord100000001]
AllPosition =
BigIcon =
Directory = ../../../../mmc/mmca1/test
Exec = test.load
Group =
Icon =
InstalledDate =
JavaId = -1
Mime =
MpkgFile =
Name =
OsVersion =
Position =
Rotation =
Shared = 0
Size =
Type = 2
uid = 100000001
(注:依情況更改AppLinkCount和AppLinkRecord,上面配置略去了很多次要內容,
只保留必要的。)
保存後,更改下菜單的順序,會發現有個感歎號的應用程序,不用管他,那是因爲
我們沒有指定菜單的圖標!這時選擇test.sh,然後用那個感歎號的應用程序打開,就會
發現成功打開了收藏夾!我們自已的Loader也成功了!
看到這裏,Loader的本質想必應該十分清楚了吧。
五、結束
理解的本文的Loader,再講MPKG,就簡單多了。下一篇主要分析MPKG的相關軟件。