关于移动游戏百宝箱打包上传问题。

12月13日
关于移动游戏百宝箱打包上传问题。

声明:这是一个说明文档,而且是个人见解,仅供参考,不详细之处请多多谅解 :)。          

lulei

2005-12-6

 

由于移动本身平台设计的问题,导致许多打包的应用无法上传到移动的平台。为了能够让我们的程序上传移动的平台,需要做以下处理。(方法共3种,前2种已经被我们实际验证过,是可行的。据说第3种也是可以的,我们选择自己喜欢的就可以了。)

 

与我们打包息息相关的、已知的移动测试流程:

移动把SP提交的程序文件会通过下面这个平台来测试和发布。

http://sp.mbox.monternet.com    问题也就多出在这个地方。例如:程序Midlet.jarMidlet.jad(我们提交给移动的jad文件是UTF-8的)

1.移动首先把Midlet.jad首先转换成ASCII码;

2.然后把Midlet.jar和转换后的Midlet.jad上传到平台上;

3.看看适配机型有没有勾上,jad描述是否正确;

然后再做一些他们需要做测试,与我们有关的就是这3个步骤。

 

如果我们没有按照移动要求打包的话,这里他们就会遇到下面的问题:

不能提交应用,上传时平台提示:“应用和已知的JAVA 特征不匹配,不能被上传

 

(这个就是我们没有按照移动要求打包而出现的问题。我们按移动要求打包之后,为了确保程序可以上传,做到心中有数,所以在给移动发程序之前,我们必须上传测试一下程序是否可以上传。)这时候又遇到转换ASCII的问题。

 

移动给出了转换ASCII码的方法

7. JAD乱码是怎么产生的?

答:由于UTF-8编码的JAD文件在上传至平台时会表现为乱码,因此在上传前需用ultraeditultraedit高级”/“配置中将自动检测UTF-8文件勾选掉)手工进行文件->转换->UTF-8ASCII”的转换步骤,转换后含有乱码字符的JAD文件可能导致无法上传或用手机下载时会看到乱码,因此无法完成后续测试。

 

部分SP提交的JAD中总出现某项前面有乱码的情况, 是因为在UltraEdit里设置了UTF-8文件头标记的后果,即在高级”/“配置中勾选了保存是对所有UTF-8写入UTF-8文件头标记(ROM-OFF,应该勾选掉。

(给出我对这段话的理解,由于移动平台的原因,必须把UTF-8编码的jad文件转换成ASCII码才可以上传到该平台,我们就按照移动的方法把它转成ASCII码就可以了,确保我们转换后的ASCII码文件可以正常显示,没有乱码!注意:我们发给移动的文件仍然是UTF-8格式的jad文件,也就是没有转换之前的,这里转换只是用来上传平台用的。如果你不转换就上传到该平台就可能会出现“JAD中缺少应有的项:MIDlet-VendorMIDlet-Version”这个错误提示。即使你的jad是不缺项的!)

 

这个时候我们的程序应该可以正常上传了。然后看看适配机型有没有被勾上。如果没有被勾上,那就是选用sdk或者CLDCMIDP版本的问题,不是打包的问题了。

 

按照移动正确打包:

方法1.     Eclipse直接打包。

 

所需软件:

Eclipse v3.1.1

EclipseME v1.2.1

这个版本的EclipseME

Fix for UTF8 JAD problems during packaging (Bug 1283295)

所以可以直接打包。第2种方法就是因为以前版本的EclipseME有这个Bug,所以多做了一些步骤。

 

Eclipse设置:

编译时,设置javac target vm1.1即可通过移动检测。wtk中无法实现。在Eclipse中可以在java-compilerCompliance and Classfiles中做以下设置:
Compiler compliance level: 1.4
Generated .class files compatibility: 1.1
Source compatibility: 1.3

 

 

 

 

方法2:用Eclipse间接打包。如果用EclipseME以前版本的话,可以用下面方法。

 

Eclipse设置:

1 编译时,设置javac target vm1.1即可通过移动检测。wtk中无法实现。在Eclipse中可以在java-compilerCompliance and Classfiles中做以下设置:
Compiler compliance level: 1.4
Generated .class files compatibility: 1.1
Source compatibility: 1.3

 

2 eclispe打混淆包。但eclipse编写jad中文会出现乱码,所以用wtk编写正确的jad,然后用wtk打包(注意不能覆盖eclispe打的包),这是为了用wtk获得正确的jadmanifest文件。将elcipse打包出的jar解压,用wtk生成的mainifest代替原jar中的mainifest文件,然后用winrar打包(zip格式,可选最大压缩,注意要选择所有的文件后打包,不要将外面的整个目录打包).最后将jad中的jar size改为这个最新的jar的字节数。

 

 

方法3WTK打包

j2sdk1.3.1国际版

wtk1.0.3或者wtk1.0.4

对于sun不支持的扩展API,需要SP扩充,方法是:将扩展API加到D:/WTK1.0.4/lib/midpapi.zip

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值