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

都是 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 文件 , 将其文件名改为英文名 , 上传至手机仍然不能运行 。
【所有小于64KB的JAVA程序在诺基亚3200上100%完美运行的方法】正是根据这一次次实验的结果 , 我一步步找出了症结之所在 , 那就是:不能运行的 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 ” 改成英文才能 完美运行 。
如需转载此文 , 请注明作者:逍遥赵 。

    推荐阅读