日期:2014-05-20  浏览次数:20928 次

J2ME 打包问题 急!!
我用J2ME写了个小游戏 我在Eclipse中可以正常运行,但我打包出来后按键就没反应了。这是怎么回事!!求解释!!!

------解决方案--------------------
图片刷不出来,抱歉

打包规范

WTK的使用
1 Jad属性设置 wtk 是jar,jad打包的主要工具. 中文版的请自己对应位置
 
选择New Project 出现上边窗口,在ProjectName中正确输入工程目录(将来生成的jad,jar跟这个同名),
 
属性设置Required 中,MIDlet-Vendor 对应输入 酷蜂科技 或英文 CWA(见上图),其中MIDlet-Name 中填入游戏中文或英文名字(通常根据手机支持中文情况和语言版本)

 
Optional 这里需要输入的是MIDlet-Description 和MIDlet ,描述和游戏图标
User Defined 这里可以添加一些自定义属性
 
,通常有移动需要的游戏资费,Media-Price (注意大小写)
MIDlets 这里需要设置Name 通常填游戏名字,字数有限制。该用中文名字用中文名字,该用英文名字用英文名字,通常根据手机支持中文情况和语言版本
 

2 文件目录介绍 属性设置好之后可以将已有工程copy到相应文件夹中,
 
路径在wtk/apps 下边的工程目录当中 ,其中src对应java文件,res对应资源文件,lib对应新增外部lib包,bin下边放置的是jad,jar和MANIFEST.MF文件。


3 文件打包
在下图wtk / wtklib下边,可以将不同的手机专用api集成到emptyapi.zip中
 

混淆代码可以对代码进行一定程度的加密,将retroguard或者proguard 包放到wtk / bin目录下边,使用下图所示的打包方式生成jar包
 
4 打包是程序开发最简单的一环,也是最容易出错的一环,一旦出现打包问题,往往会造成恶劣的影响,尤其是在jad,jar已经提交到SP手中的时候才发现的打包问题。新人在打包过程一定要提高警惕,在初次打包的时候应当具体问明白发行商的具体打包要求,并向有经验的程序员弄清楚打包的具体细节。

下边说明一下 移动百宝箱打包要求
jad文件中必须有移动规定的9项属性:
1、MIDlet-Name-应用程序名称(不多于12 个汉字)
2、MIDlet-Version -应用程序版本号(不多于5 位字符)
3、MIDlet-Vendor -开发商名称(华娱无线)
4、MIDlet-Jar-URL -JAR 文件的URL (不多于128 位字符)
5、MIDlet-Jar-Size -JAR 文件的大小(要同实际的JAR 文件大小一致)
6、MicroEdition-Configuration -适用CLDC 版本 
7、MicroEdition-Profile -适用MIDP 版本 移动通常都写1.0
8、MIDlet-Description -应用程序简介(必须包括应用类
型、适用终端名称、和应用的概要描述)
9、Media-Price-(信息费)
其他还有以下几项对应设置正确
MIDlet-1: 游戏名, icon.png, RooMIDlet
MIDlet-Icon: icon.png 

最后打完包总共应该有11项


Jad,Jar命名采用四段式:
GameName_GroupLeader_ver_language
语言字段:英语en 简体中文chs 繁体中文cht 
Gamename 应用本地化的游戏名称
例: Mygame_sina_v10_chs.jad , Mygame_sina_v10_chs.jar

打包完毕后注意用UltraEdit等工具查看jad信息,不要缺失属性或出现错误属性
游戏名称_语言_版本号_适应的手机代号












三.UltraEdit(俗称UE)的使用 
UltraEdit功能很强大,占用内存较少,打开速度快 ,这里作为辅助工具使用。
UltraEdit可以编辑大部分文本文件,另外不能作为文本显示的文件,UltraEdit会将其转变成字节码,所以可以很方便查看一些文件的结构,比图png格式。文本和字节码之间切换查看使用快捷键 ctrl + H 
比较文件,打开要比较的两个文件,文件选项中选择比较文件,可以比较字节码或者文本
 
其他还具有很多文本处理功能,可以自行研究。函数列表快捷键 F8


------解决方案--------------------
我知道你的原因所在!!!
我遇到过!!!
你要指定程序的Midlet
具体步骤:
1、打开程序的jad描述文件
2、找到Midlets选项里
3、添加一个参数,一般name是New Midlet,然后在class选择你程序的入口类
然后再打包、看看能运行了吧、、、