当前位置: 代码迷 >> Eclipse >> 用Eclipse生成的jar文件不能在手机下运行
  详细解决方案

用Eclipse生成的jar文件不能在手机下运行

热度:61   发布时间:2016-04-23 01:55:12.0
用Eclipse生成的jar文件不能在手机上运行
用Eclipse生成的jar文件不能在手机上运行           刚刚开始学习J2ME的时候就遇到这个问题,后来在网上查了大量文章,但觉得没有一个比较全面的回答。在这里我总结一下这个错误产生的原因和解决方法。        方法一:        首先我们来看一下网上其它的朋友是如何解决这个问题的(蓝色部分): 原因: 用Java(TM) ME Platform SDK生成的jar没问题,对比之下, 发现用Eclipse打包生成的MANIFEST.MF文件和jad文件都有缺漏.  解决方法: 用WinZip或WinRAR打开Eclipse打包的jar,用记事本打开META-INF目录下的MANIFEST.MF文件, 在开头加一行"MIDlet-1: MIDlet1,,J2MEDemo.MyTest",手机运行的错误提示"关键信息已丢失"就是指这行. 其中,MIDlet1是在手机上运行时显示的程序名,J2MEDemo.MyTest分别是程序的包名和类名. MIDlet-1: MIDlet1,,J2MEDemo.MyTest        Manifest-Version: 1.0        MIDlet-Vendor: Vendor        MIDlet-Version: 1.0.0        MicroEdition-Configuration: CLDC-1.1        MIDlet-Name: MyTest        MicroEdition-Profile: MIDP-2.1 修改后保存一下jar(覆盖一下MANIFEST.MF文件)就可以在手机上运行了.方法二:以上的方法虽然能解决问题但却没有给出错误产生的真正原因,和如何避免这问题的产生。下面我就给大家详细讲解一下:在Eclipse中创建J2ME Midlet Suite项目后(假设项目名为cvskillMIDlet,程序的包名和类名为com.cvskill.cvskillMIDlet并且假设此项目生成的jar在手机上也无法运行),在左则PackageExplorer中项目cvskillMIDletr的根目录中会生成一个cvskillMIDlet.jad。双击打开它,你会看到一些如方法一中MANIFEST.MF文件中所示的内容,如下图:用Eclipse生成的jar文件不能在手机上运行 - cvskill - cv之家 现在切换到Midlets选项卡,你会发现无任何内容,如下图:用Eclipse生成的jar文件不能在手机上运行 - cvskill - cv之家 现在我直接说我的解决方法,就是单击Add按钮添加一项如方法一中添加的那行内容。添加完后如下图:用Eclipse生成的jar文件不能在手机上运行 - cvskill - cv之家 现在保存一下,再打包生成的jar就可以在手机上运行了,你可以按方法一中的方法检查一下jar中的MANIFEST.MF,会发现文件中缺的那一行已经有了。错误的原因和如何避免:现在我给大家说两种创建cvskillMIDlet类的方法,并给出结果你们就知道原因在哪了。第一种:右击项目根目录cvskillMIDlet选择“New->Class”,之后输入包名,类名,然后完成。最后打开cvskillMIDlet.jad,切换到Midlets选项卡你会发现里面没有一项,必须照上面的方法二自己添加一项才行。第二种:右击项目根目录cvskillMIDlet选择“New->Other->”,在弹出的对话框中选择“J2ME下的J2ME Midlet”,单击“Next “之后输入包名,类名(注意此处下方有一个可选项“Add to Application Descriptor?”必须打勾),然后完成。最后打开cvskillMIDlet.jad,切换到Midlets选项卡你会发现里面已经有一项了。内容就是第一种方法中我们需要添加的那一项。两种创建的方法都讲完了,我所大家也就知道错误产生的原因和避免的方法了。jad文件中的选项还有很多,大家可以仔细研究一下,这里就不多说了。
  相关解决方案