| 订阅 | 在线投稿
分享
 
 
 

深度剖析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- 王朝网络 版权所有