飞利浦很少出手机里运行的java程序,只好借用其他手机的。lottry.jar是一个算彩票的java程序。从网上下下来,红外传入手机。安装,出提示:“由于应用程序文件缺少关键信息,因此无法安装-13”。jar中加入“com”组件,也是这样。难道9c没法用?想起网上说过:jar文件关键是其中manifest.mf内容必须有6项:
MIDlet-Version
MIDlet-Name
MIDlet-Vendor
MIDlet-
MicroEdition-Profile
icroEdition-Configuration
打开lottry.jar的manifest.mf内容是
Manifest-Version: 1.0
Created-By: 1.3.1 (Sun Microsystems Inc.)
显然少了几项,将一个能正常运行的jar的Manifest.mf的内容
替换lottry.jar的内容如下(相应内容改为lottry的)
Manifest-Version: 1.0
MIDlet-1: lottery,,lottery.Lotteryopen
MIDlet-Name: lottery
MIDlet-Version: 1.0.1
MIDlet-Vendor: abc
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
用摩托罗拉手机虚拟软件虚拟:没有通过。
看lottry.jar中有3个class
Lotteryform.class
Lotteryopen.class
Lotterymain.class
逐个试之:只改MIDlet-1: lottery,,lottery.Lottery????
问号部分,open已是不行,换form也不行,当换为main时,虚拟通过。
因此正确的Manifest.mf内容:
Manifest-Version: 1.0
MIDlet-1: lottery,,lottery.Lotterymain
MIDlet-Name: lottery
MIDlet-Version: 1.0.1
MIDlet-Vendor: abc
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
将这个文件替换原lottry.jar中同名文件后传入手机、
安装可以了、
运行可以了。
ok!
注:①摩托罗拉手机虚拟软件不是很准确,有时虚拟可过,但传入手机不一定行。只是作为一种辅助手段而已(非必备手段)。
②试了试manifest.mf内容必须有6项中MIDlet-1最为关键。其它好像无所谓。各位注意到了本例中MIDlet-Vendor: 俺不知是谁,随便写了个abc也可正常运行。
③本法不是万能方法!其后又换了一些不能运行的jar的Manifest.mf,结果,换后的jar仍然不能运行。