深度剖析E680G应用一 所谓的Loader( 二 )


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 =

推荐阅读