电脑技术学习

所有小于64KB的JAVA程序在诺基亚3200上100%完美运行的方法

admin

都是 S40 系列的手机,都支持且仅支持 64KB 以下的 JAVA 程序(限 JAR 格式),为什么在别的机子(如功能比 3200 还低的 3100 )上运行良好的 JAVA 程序上传至 3200 就根本不能运行了呢?这个问题一直困扰了我两年多,而且我相信不单是我,广大的看官也深有同感。

更加奇怪的是,同样是 64KB 以下的 JAVA 程序,在某一款 S40 手机(如 3100 )上均能运行,而换到 3200 上,则有些能够运行,有些不能够运行。至于哪些程序能够运行而哪些程序不能够运行,则毫无规律可言。

直觉告诉我,这种现象的出现与硬件性能的高低是没有关联的,我于是对各种各样的 JAR 程序反复做起了实验,实验表明:

1 .凡是用 Oxygen Phone Manager 、 MobiMB Mobile Media Browser 或是 Nokia PC Suite 中任意一款软件上传至 3200 上不能运行的,换用其它软件上传照样不行。

2 .程序不能运行的概率和程序的文件大小无关(限 64KB 以内)。

3 .不能运行的 JAR 文件在用 Oxygen Phone Manager 、 MobiMB Mobile Media Browser 或 Nokia PC Suite 上传后,该程序的名称在这三款软件的列表里均显示乱码,而在 3200 上则显示中文( 3200 虽然不能运行该程序,但是能看到文件名)。

4 .并非所有中文名的 JAR 文件上传至 3200 都不能运行。

5 .上传至 3200 后,在手机上显示为英文名的 JAR 文件一定可以运行。

6 .凡不能运行的 JAR 文件,将其文件名改为英文名,上传至手机仍然不能运行。

正是根据这一次次实验的结果,我一步步找出了症结之所在,那就是:不能运行的 JAR 程序和它的文件名是否是中文名无关,而和它的 MIDlet-Name 有关。

下面就教大家完美运行本不能在 3200 上运行的 JAR 程序的方法:

1 .在电脑上,用鼠标右键点击 JAR 程序,选择“打开”-“从列表中选择程序”-“ Winrar ”,点击“确定”。

2 .找到“ META-INF ”文件夹,双击进入。

3 .双击打开“ MANIFEST.MF ”文件,找到“ MIDlet-Name ”一行,将冒号后面的汉字改为英文即可。

4 .之后可用“ JAD 生成器”之类的软件再重新生成一个对应的 JAD 文件(用 MobiMB Mobile Media Browser 的话可以不用生成 JAD 文件而直接上传)。

之后你再将 JAVA 程序上传至 3200 中,就会惊喜地发现——原本不能运行的程序已经可以完美运行了(此法对非 S40 甚至非诺基亚品牌的 64KB 以内的 JAR 文件亦有效)!

补充说明:

1 .但凡原始 JAR 程序先经过 Winrar 解压缩一次,然后再通过 Winrar 压缩成 JAR 文件的,其结果会造成文件的损坏,从而导致 JAR 文件彻底不能运行。对于这种情况,本文的方法则是无能为力的。

2 .有些 JAR 程序可能除了要把“ MANIFEST.MF ”中的“ MIDlet-Name ”改成英文,还需要把“ MIDlet-1 ” 改成英文才能 完美运行。

如需转载此文,请注明作者:逍遥赵。

标签:

留言评论

留言与评论(共有 0 条评论)
   
验证码: