CNJM首页 | 业界新闻 | 手机软件 | 终端应用 | 资源下载 | 开发文档 | EclipseME | CNJM论坛 加入收藏 | 设为首页  
logoTop pad
logoBottom
首页
历史
目录
先决条件
安装
创建一个新项目
创建一个新MIDlet
运行/调试
打包发布
高级话题
参考
常见问题
提交问题报告
技术支持
EclipseME开发者
许可证

Eclipse Ready Logo
SourceForge.net Logo


CNJM.net
spacer


J2ME首选项

为了查看或者调整EclipseME的首选项,你可以从Window 菜单打开Preferences 对话框。 本文档描述了接下来的一系列设置。

  1. 设备管理
  2. 基本首选项
  3. 新建Midlet套件首选项
  4. 无线下载首选项
  5. 打包首选项
  6. 混淆首选项
  7. 预校验首选项

设备管理

你可以从首选项面板左边目录选择 J2ME/Device Management来设定一些首选项,用来控制被 安装到EclipseME的设备定义。 关于设备定义的详情, 请参见 设备管理 一节所描述的信息。
screenshot

基本首选项

从首选项面板左边目录选择 J2ME 栏目后,你就会看到一个基本首选项设置 页,如下图所示:

screenshot

首选项项目:

项目内容
Deployment Directory Deployment Directory(部署目录)选项允许你设置一个相对于工程目录的子目录, 当你对工程执行打包操作时所生成的JAR以及JAD文件会被 到该目录中。另外,内置的 无线下载 部署功能也会从这个目录下去寻找JAD以及JAR文件。
Verified Output Directory Name J2ME规范规定所有的类在运行前都必须经过预校验。 这个规定带来了较高的安全机制而又不像J2SE那样需要很大的开销。 如果Eclipse工作环境运行自动编译,那么EclipseME可以对类文件自动进行预校验。 当Eclipse对一个类完成编译以后,EclipseME将会对其进行预校验并且把它放到该选项设置的目录中去。
Antenna JAR 如果你想使用EclipseME自带的生成Antenna构建文件的功能的话,那么 你必须告诉EclipseME你把Antenna的JAR文件放到哪儿了。详情可以参见 Antenna支持一节。
WTK ROOT 如果你想使用EclipseME自带的生成Antenna构建文件的功能的话,那么 你需要让EclipseME知道WTK的安装目录在什么地方。详情可以参见 Antenna支持一节。
Debug Server Delay 有些模拟器,比如说NOKIA的,调试的时候是以服务端而不是客户端的形式出现, 所以这类模拟器必须在EclipseME试图连接它之前启动。由于有很多因素会影响 启动的时间,为了让模拟器有足够的时间启动,所以在这里你可以设定在等待 多少时间(毫秒)以后,EclipseME才去连接模拟器的调制服务端。

新建Midlet套件首选项

从首选项面板左边目录选择 New Midlet Suite目录,你可以设定一些关于 新建一个Midlet套件的首选项。

screenshot
条目内容
Force Java 1.1 Compliance 如果该项被选中了, EclipseME创建工程文件的时候会自动调整工程属性的设定, 使编译器强制生成Java 1.1版本的类文件。 如果没有选中的话,那么就使用工作环境的设定。
警告: 因为很多手持设备都不支持1.1以后版本的类文件格式, 所以我们强烈推荐你选中这个选项。
Automatically Use Resources Directory in New Projects 如果该选项被选中,那么当你创建MIDlet工程的时候,同时会自动创建一个资源文件目录, 该目录的文件名由下面那个文本输入框的内容决定。
Resources Directory 如果上面那个选项被选中的话,那么你可以在这里设置一个资源文件夹的名字。注意这个特性 只有在新建工程时管用,并且你要设置了让工程的源文件和二进制文件使用不同的目录。

无线下载首选项

从首选项面板左边目录选择 J2ME/Over the Air 后,你可以设定EclipseME的无线下载首选项。

screenshot

首选项项目:

项目内容
Start Listening at Startup 如果该选项被选中,那么当Eclipse环境打开的时候会启动一个内置的 无线下载服务器。要是在Eclipse环境以外使用OTA(无线下载)服务器 的话,请确保该服务器已经被启动了并且端口指定正确。如果可以在Eclipse 里启动模拟器,那么你没有必要去启动服务程序了,因为必要的时候它会自动 启动的。
Use Specified Port 选中该选项并且填入一个端口可以为内置的HTTP服务程序指定一个端口号。 如果该选项没有被选中的话,那么OTA服务程序会被随机的指定一个端口。
指定端口 Use Specified Port 选项被选中, 为内嵌的HTTP服务程序指定一个端口。
Automatically deploy prior to launch 为了执行无线下载运行操作,JAR和JAD必须预先部署完毕。选中该选项后,如果自从 上次打包后程序又有了变动,EclipseME会自动在执行无线下载操作之前打包你 的MIDlet套件。

打包首选项

打包首选项可以对将要发布的文件进行打包的过程进行控制。

screenshot
项目 内容
Increment Version Automatically 如果该选项被选中,每次MIDlet套件重新打包后,EcilpseME会自动的增加Midlet Version 参数的值。

注意:从EclipseME 1.2.0开始,如果一个版本号的形式为x.y.z,当y或者z 的数值增加到99了,就将该位回滚到0,并且将前一位加1。这么做是因为如果 JAD文件中的版本号含有三位数的部分会引起手机的错误。

排除属性 在这里,你可以设置一些MIDlet属性,使得打包的时候它们不会出现在 JAR文件中的manifest文件里。默认情况下, MIDlet-Jar-URLMIDlet-Jar-Size 会被排除。

混淆首选项

混淆首选项控制对包进行混淆的过程。 EclipseME使用Proguard 来完成混淆过程。

screenshot

首选项项目:

项目内容
Proguard Root Directory 在这里你可以指定Proguard安装路径。 如果你要对你的程序混淆,必须安装Proguard。
Use Specified Arguments 默认情况下, EclipseME会使用如下参数来调用Proguard进行混淆:

-dontusemixedcaseclassnames -dontnote -defaultpackage ''

在某些场合你需要指定不同的参数时, 可以将"Use specified arguments"(使用指定参数) 这个选项选中并且在文本框里填上参数。

Microsoft Windows 用户特别注意: 默认情况下, ProGuard假定你使用的操作系统会区分文件名中的大小写。 (比如 A.javaa.java 是两个不同的文件)很明显,Microsoft Windows不是这样的操作系统。 Windows用户要确定为ProGuard指定了- dontusemixedcaseclassnames 选项。 如果你没有这样做,而你的工程文件又超过了26个类的话, ProGuard默认 使用变换大小写的方式为混淆后的类命名。显然这会覆盖原来的类。 安全起见,从EclipseME 0.9.0发行版开始 -dontusemixedcaseclassnames 选项被包含到了传给 ProGuard的默认选项中去。 如果你是*NIX用户并且你的工程中的类超过26个的话, 去掉该选项你可以得到一个稍微小点的JAR文件。
Proguard Keep Expressions 在这里你可以设置一个表达式是的某些类不被混淆。表达式中用到的关键字 请参阅Proguard文档。 默认的表达式会保留所有的MIElet类以及他们的方法不被混淆。

预校验首选项

从首选项面板左边目录选择 J2ME/Preverification 目录 你可以对该插件的预校验操作进行设置。

screenshot

这里主要有两个关键问题需要设置:

  1. 为CLDC 1.0 进行预审和还是 CLDC 1.1。
  2. 是使用外部WTK的预校验器还是使用内部的预校验器
项目内容
Use JAD file settings 该选项被选中的话,EclipseME会根据JAD文件中的配置来自行决定是使用CLDC 1.0还是 CLDC 1.1的校验方式。
Use project platform definition configuration 如果这个选项被选中的话,EclipseME会根据工程平台定义的配置情况来决定是使用CLDC 1.0还是CLDC 1.1的形式。
Use specific configuration 这个选项允许你从下拉列表里面指定CLDC1.0或者1.1,而无论JAD中定义如何或者 使用什么样的工程平台定义。
Use Built-In Preverifier 自从EclipseME 1.2 版本开始, EclipseME包含了一个预校验器的本地JAVA实现。如果 你选中这个选项的话,那么EclipseME会用它来替代外部WTK的预校验器。

注意: 内部的预校验器还在还处在beta阶段,不保证一定好使哦。

不过内部预校验器遇到预校验错误时的反馈功能还是不错的。 EclipseME开发者会对该预校验器的反馈功能很满意的。



Copyright © 2005, http://www.eclipseme.org. All rights reserved. 本中文版由中国Java手机网<www.cnjm.net>翻译