鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 手机系统开发 > J2ME > >

j2me手机开发MID格式详解

来源:互联网 作者:佚名 时间:2015-08-02 08:04
欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入 3. Antenna Antenna是Ant的扩展包,它是专用来构建、编译、打包、部署J2ME 应用的辅助工具。 Antenna中非常实用的工具就是WtkPreprocess,它给Java开发添加 了类似C/C++中的宏定义和代码预处理的功能
欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入

3. Antenna

      Antenna是Ant的扩展包,它是专用来构建、编译、打包、部署J2ME 应用的辅助工具。

Antenna中非常实用的工具就是WtkPreprocess,它给Java开发添加 了类似C/C++中的宏定义和代码预处理的功能。Antenna支持的宏定义 包括:

#ifdef
#ifndef
#elifdef
#elifndef
#if
#elif
#else
#endif
#condition
#debug
#mdebug
#enddebug
#define
#undefine
#expand
可以从 http://antenna.sourceforge.net/wtkpreprocess.php 获得 详细的说明。

      使用Antenna的过程中,会有一些缺陷。例如,在开发过程中,我们 通过定义宏来代表某个功能,对于不同的手机,当我们需要支持该功能时,在编译的过程中,打开这个宏即可,反之则关闭这个宏。如果该功能只与代码有关系,情况就十分简单,Antenna的WtkPreprocess 可以完成我们需要的功能。但是如果该功能同时与资源有关系,当 我们选择不支持该功能时,我们不但想在编译的过程中,通过预处理,去掉相关的代码,也希望该功能相关的资源也不被放入JAR包中, 而WtkPreprocess除了处理源代码,其他都无能为力。因此在构建脚本的编写过程中,需要特别注意这类问题。

4. Proguard
      ProGuard是一款免费的Java类文件压缩器、优化器和混淆器。它能发现并删除无用类、字段(field)、方法和属性值(attribute)。 它也能优化字节码并删除无用的指令。最后,它使用简单无意义的名字来重命名你的类名、字段名和方法名。经过以上操作的jar文件 会变得更小,并很难进行逆向工程。

在J2ME开发中,通常都会使用到该工具,并且该工具是开源的, 很容易获取。

5. Preverify
      Preverify是WTK带的一个验证class文件的工具,通过了Preverify的 class文件,在手机上运行前仅需要做一些二次验证的工作。

6. Size Control
      编写J2ME程序的时候,JAR包的大小是个大问题,手机上的存储空间 和程序运行空间都十分珍贵,因此我们需要尽最大的能力减小 JAR包 的大小。

6.1 kjar/kzip
      在制作JAR包时,有很多方法。JDK本身提供了jar命令,可以制作JAR包, JAR包其实可以理解为标准的ZIP包。

      此处,我们推荐使用一个称为kjar的工具,可以从 http://supremej2me.bambalam.se/guides/optimization-tools/kjar/ 下载到,他是通过改写压缩算法,使制作的JAR包能比普通JAR包减小10% 左右的大小。同时,由于kjar只能运行于Windows平台,并且通常被病毒 防火墙误认为病毒,用起来并不方便,因此你可以从 http://advsys.net/ken/utils.htm 下载kzip,包括Windows和Linux版本,能实现同样的功能。

6.2 BamFS
      BamFS是另一个减少JAR包大小的工具,可以从 http://supremej2me.bambalam.se/guides/optimization-tools/bamfs/ 下载。该工具可以将所有资源文件,包括图片、文本等,打成一个大 的二进制文件,并且提供了一个java类,方便开发人员从这个大的二 进制文件中读取所有资源。通过减少JAR包中文件的数目(或者文件夹 的层次),同样也可以减少JAR包的大小。

6.3 mbooster

  [1] [2] [3] 

网友评论
<