深度剖析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