ZKM
http://www.zelix.com/
商业软件可试用
JBuilder
http://www.borland.com/
集成开发环境中内附混淆功能,但JBuilder的价格也不便宜。
预审核
在完成编译后,我们必须要对*.class文件进行预审核,这和传统的Java程序(Applet、Servlet)是不同的。因为class在传输过程中容易损坏或是被篡改,传统的Java程序在运行前,都在本地机器上对.class进行Byte Code的审核。而对于手机这样的资源有限设备而言,在手机上进行大量的此类的审核是极为浪费资源(如占用CPU的时间、消耗电力等)。因此,我们必须先在PC机上使用preverify.exe进行一部份预选审核工作。这样,在手机上进行的审核工作就大量减少了。
打包与编写描述文件
MIDP可执行文件后缀名为jar。利用jar file.class就能将通过预审核的*.class文件,打包成 MIDP认可的可执行文件。后缀名为jad的文件是jar文件的描述文件,jad文件详细介绍见第二节。
在仿真器或手机上安装运行
有了jar及jad文文件后,我们就可以把它们放到仿真器或手机上运行了。至于如何把它们放到手机上,根据手机的功能不同,有如下方法可以选择:
l 使用数据线,将PC与手机相连,下载文件
l 使用红外线
l 使用蓝牙
l 使用OTA空中下载(利用短信/WAP)
10.2 MIDlet Suites
10.2.1 JAM
JAM (Java Application Manager) 中文一般翻译为应用程序管理器。在有些文档中,JAM也被叫做AMS (application manager software),这两个术语所描述的概念是完全一样的。简单来讲,JAM是管理移动设备上所有J2ME应用程序的软件,负责J2ME应用程序的下载、安装、更新与删除。JAM由是移动设备本身所提供的,不同公司的实现略有不同,初级开发人员只要知道其作用就可以了。
10.2.2 MIDlet Suite
对MIDlet Suite简单理解是MIDlet程序的一个集合。MIDlet Suite包含了一个或多个MIDlet、资源文件以及JAR manifest,这些内容被打包成一个JAR包。通常情况上讲MIDlet Suite还需要一个外部的JAD描述文件。
MIDlet Suite是为了解决多个MIDlet受控访问、共享资源的问题而提出的模型。举个共享资源的例子:在前面的章节中我们已经介绍过,RMS的共享在一般情况下是以MIDlet Suite为单位进行的,即同一个MIDlet Suite中的MIDlet可以安全的共享所在MIDlet Suite中的RMS。因此,当多个MIDlet要共享RMS时,就可以将它们放进一个MIDlet Suite中。为了保证安全性,MIDlet Suite中的MIDlet、资源文件都不能独立安装、删除或更新。即MIDlet Suite必须作为一个整体包来对其操作。对于设备来讲MIDlet Suite是一个基本单位。
10.2.3 JAR manifest
前面我们介绍过,JAR文件就是经打包后的可执行文件,包括下面各种元素:
1) 实现MIDlet的类文件;