自己制作主题安装文件,可以同时安装数十个主题

刚写完准备提交,发现soulice朋友《将主题空间占用大的文件放在非ezxlocal目录的方法》已经发表! 尽管方法原理是相同的,但我想我说得更详细一点,并且多介绍了如何自己制作安装文件mtf,方便不喜欢或者不会用telnet的朋友操作,所以还是提交上来供参考 。
经常看到有朋友因为安装太多、太大的主题文件导致死机,一直没有在意,终于在今天安装一个新主题时失败,但仍然想试用一下该主题,却遇上了死机! 按下音+照相+开机,问题依旧 。最后通过telnet,复制一个原来正常使用的主题的iconres.ezx文件,覆盖当前出问题的主题的同名文件,并删除掉其他主题,手机正常启动 。因为安装主题死机,令我不得不想办法解决不能多装主题的问题 。通过分析测试,发现原来不管多么大的主题,都可以只占用systemezxlocal目录2K的空间(即两个配置文件)!
一、主题文件的结构与存在的问题
一个主题,主要有三部分:
1、主题配置文件,比如bambooTheme.dhm, A780Theme.dhm等,这些配置文件必须在如下两个目录中(两个文件是完全相同):
169.254.142.2systemezxlocaldownloadappwritesetup
169.254.142.2systemezxlocaldownloadtheme
2、主题图标文件,名为iconres.ezx,用一般mtf文件安装会自动放在如下目录中:
169.254.142.2systemezxlocaldownloadthemeicon
3、背景,墙纸和开关机动画等文件,习惯放在如下目录下的子目录中:
169.254.142.2systemdiskathemes
问题的关键在于2,iconres.ezx文件相对比较大(特别是近来出的精品主题),小的有几十到几百K,大的则有1MB多,而169.254.142.2systemezxlocal这个目录系统赋予的空间大约5MB,因此当此空间满,用户仍然试图用自动方式安装主题,就会出现死机现象 。
我安装的leaf768.mtf的iconres.ezx文件就有1590KB,这样的主题装不了两个,而好看的主题实在太多,如果要换就得经常删除安装,还要设置相关铃音等,太难受!
我想要能安装几十个主题就好,经常换一换,岂不快哉!
二、解决问题的思路与方法
怎么办?背景,墙纸和开关机动画等文件可以放在systemdiska目录(即在手机的文件管理中可以看到手机内存,用户可控制的部分,一般都有40多MB)下,为什么其他文件不能呢?仔细分析配置文件*.dhm, 发现完全可以把iconres.ezx文件也放到systemdiska目录下,那么最大有40多MB可以安装主题了 。同样,如果把背景、墙纸、开关机动画和iconres.ezx等文件放在SD卡上,则想装多少都行!
既然如此,马上动手!
1、修改配置文件 。用PKZIP软件打开主题文件(PKZIP的用法详见第三点),解压到电脑上,用UltraEdit修改配置文件*.dhm(改好一个,再复制覆盖另一个) 。如bambooTheme.dhm:把这一行ThemeIconDir = ezxlocaldownloadthemeiconbambooTheme.dhm
改为ThemeIconDir = diskathemesbambooTheme.dhm
这里的diskathemesbambooTheme.dhm是我为bamboo(竹子)主题的icon文件建立的目录 。我把icon文件铃声,背景,墙纸等放在一起了 。
2、移动iconres.ezx文件 。把iconres.ezx文件移动到ThemeIconDir指定的路径 。
我把我要安装的所有主题都先解压在电脑上,再全部做相应修改,然后通过telnet一次拷贝到手机 。断开连接,再看手机,十多个主题,不管文件多大,一个个测试,都可以用!
这样,你想装多少主题都没有问题,只要你的Phone内存还够 。甚至可以把iconres.ezx文件放在SD卡上,只要把路径写对就行 。
三、制作单个可安装的mtf文件
主题自动安装文件mtf其实很容易制作,你只需要PKzip一个软件就行 。
1、下载 PKzip for window,安装到你的电脑上 。(网上搜一下就可以找到 。附赠注册码:x6jbkm-6n4eyj-atakmc-3cgfan)

推荐阅读