9@9c之java程序修活一法

浏览:30日期:2023-04-05

飞利浦很少出手机里运行的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.0Created-By: 1.3.1 (Sun Microsystems Inc.) 显然少了几项,将一个能正常运行的jar的Manifest.mf的内容替换lottry.jar的内容如下(相应内容改为lottry的)Manifest-Version: 1.0MIDlet-1: lottery,,lottery.LotteryopenMIDlet-Name: lotteryMIDlet-Version: 1.0.1MIDlet-Vendor: abcMicroEdition-Configuration: CLDC-1.0MicroEdition-Profile: MIDP-1.0

用摩托罗拉手机虚拟软件虚拟:没有通过。看lottry.jar中有3个classLotteryform.classLotteryopen.classLotterymain.class逐个试之:只改MIDlet-1: lottery,,lottery.Lottery????问号部分,open已是不行,换form也不行,当换为main时,虚拟通过。

因此正确的Manifest.mf内容:Manifest-Version: 1.0MIDlet-1: lottery,,lottery.LotterymainMIDlet-Name: lotteryMIDlet-Version: 1.0.1MIDlet-Vendor: abcMicroEdition-Configuration: CLDC-1.0MicroEdition-Profile: MIDP-1.0将这个文件替换原lottry.jar中同名文件后传入手机、安装可以了、运行可以了。ok!

注:①摩托罗拉手机虚拟软件不是很准确,有时虚拟可过,但传入手机不一定行。只是作为一种辅助手段而已(非必备手段)。

②试了试manifest.mf内容必须有6项中MIDlet-1最为关键。其它好像无所谓。各位注意到了本例中MIDlet-Vendor: 俺不知是谁,随便写了个abc也可正常运行。

③本法不是万能方法!其后又换了一些不能运行的jar的Manifest.mf,结果,换后的jar仍然不能运行。

相关文章: