旌旗博客

2007-04-17

真实手机上的JAVA系统的BUG

Filed under: I.T. — 标签: — rocky @ 23:33

       按照J2ME规范写了J2ME程序,可是部署到真实手机上,稀奇古怪的问题就会出来,别大惊小怪,写JAVA虚拟机的也是普通人,照样会犯错。在此列举一些,以供后来者踩着先驱者死掉的无数脑细胞前仆后继。

       1、中文问题:Nokia 6681上在Alert的内容中的中文都显示为“口”,而标题则正常。其余的控件也有类似的问题,即title可中的中文正常,string或者text中的中文显示为“口”。在Nokia 6600上,JAD中不能使用中文,否则直接告诉安装失败。

       2、Alert显示问题:Nokia 6600上,Display.setCurrent(Alert alert, Displayable nextDisplayable)工作不正常,可直接使用Display.setCurrent(Alert alert),然后在程序中响应alert的dismiss消息,显示下一个Displayable。6600上还有好多古怪的问题的,可以到nokia网站上去搜一下Known Issues In the Nokia 6600的这篇文档看看。

      3、WMA发送短信问题:忘了在哪个手机上用一个正数端口发送不了短信了,什么反应都没有,也没有Exception。而在MOTO E680i上,不能用端口0发送短信,没有任何Exception,把send调用注释掉之后终于看到Exception了:端口只能是1到65535之间。

      4、Nokia 8800上打包引起的问题参见:jar打包引起J2ME程序安装失败

2007-04-14

jar打包引起J2ME程序安装失败

Filed under: I.T. — 标签: — rocky @ 12:28

  使用这种方式进行J2ME程序打包:

jar cvmf classes.jar mymanifest -C foo/ .

仍可以生成貌似很正常的jar文件,并且在大多数的手机上可以正常安装运行,然而在Nokia 8800手机上会报告“应用程序无效”。正确的打包方法应该是:

jar cvfm classes.jar mymanifest -C foo/ .

关于-f和-m参数顺序说明在jar的帮助信息中是这样说明的:

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 …

清单(manifest〕文件名和存档文件名都需要被指定,按’m’ 和 ‘f’标志指定的相同顺序。

Powered by WordPress