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

本文介绍了解决Eclipse生成的J2ME jar文件无法在手机上运行的问题,提供了具体步骤来修改MANIFEST.MF文件和jad文件,确保程序能在移动设备上正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


用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文件中的选项还有很多,大家可以仔细研究一下,这里就不多说了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值