| 導購 | 订阅 | 在线投稿
分享
 
 
 

深度剖析E680G應用一 所謂的Loader

來源:互聯網網民  2008-12-28 01:42:07  評論

深度剖析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的相關軟件。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有