1,开发环境
eclipse3。2+eclipseME+jdk+wtk22 。 在eclipse上安装eclipseme插件和安装语言包上不一样的。我开始就犯了这个错误。安装方法见如下copy:关于该教程的网址 : http://www.cnjm.net/eclipseme/index.html
使用下载的安装包进行安装的流程和使用EclipseME更新站点进行安装的流程非常近似。
首先从EclipseME下载页面 下载最新的安装包。
从Eclipse的帮助菜单,选择 软件更新菜单项,然后选择 查找并安装...子项。
这时你会看到下面的对话框:
选中搜索要安装的新功能部件单选按钮(即使你是想更新EclipseME也应该选择这个选项)。
然后按下一步按钮。
接下来你会看到下面的对话框:
按新建已归档的站点...按钮。
在接下来的选择本地站点归档对话框中,选择你下载的EclipseME发布包ZIP文件然后按打开。
接着安装包文件会出现在安装对话框的列表中。
勾选安装包文件左边的复选框,然后按下一步。
接下来你会看到下面的对话框:
勾选EclipseME左边的复选框。如果希望同时安装其它的附加功能,就选中它们左边的复选框。按下一步。
接下来会显示EclipseME的许可协议。
选择我接受许可协议中的所有条款然后按下一步。
接下来的对话框显示了EclipseME可以被安装到的位置。
大部分情况下,只会列出唯一的一个位置,也就是Eclipse的安装目录。但如果你安装了某些插件或功能部件,你也有可能看到其它的位置。
尽管你可以把EclipseME安装在别处,但我们建议你把它安装到Eclipse的安装目录下。
当你选定了一个位置以后,按完成。
目前EclipseME发布包未作数字签名。(维持一个JAR包的数字签名每年要花费400多美金。如果有谁愿意为EclipseME捐助这笔钱,那我们很乐意为JAR包作数字签名。)因此,接下来你会看到下面的警告窗口:
如果你确信你获得的EclipseME发布包来自一个著名站点(比如直接从SourceForge.net下载的),那么安装包的安全性应该是可以被信任的。
如果你决定继续,那么按安装按钮。
这时候,Eclipse就会从安装包文件开始安装EclipseME了。安装结束的时候,你会看到下面两个对话框之一:
对于安装 | |
对于更新 |
尽管那个新安装的对话框建议说可能不重启Eclipse也能继续,但你就干脆点儿重启Eclipse吧。
Eclipse重启动之后,安装流程结束。
绝大多数情况下,上面的安装流程是可以正确更新旧版EclipseME的。
在极少数情况下,在Eclipse重启之后,EclipseME可能仍未能正确“注册”到Eclipse中。在这种情况下,只要关闭Eclipse,然后重启动Eclipse的时候增加一个 -clean参数就可以了。使用-clean参数可以强制Eclipse重新扫描并更新它的所有插件信息。
如果正确安装了插件,那么在窗口/首选项对话框中会多出来一个 J2ME选项分支。
完成了上面的这些步骤之后,你可以开始配置EclipseME和Eclipse了。
经过如上安装后,我还是无法建立j2me工程,说是找不到设备什么的。在网上一查原来还有很多需要配置的东西,看来开发j2me不是意见容易的事呀,呵呵。
导入设备定义
你必须至少配置一种设备定义之后才能开始使用EclipseME。请按下列步骤来配置设备定义:
从Eclipse的窗口菜单中选择首选项。
打开左边面板的J2ME选项分支,点击设备管理(Device Management)。
按导入...(Import)按钮。
在接下来的对话框中,选择一个包含无线工具包的根目录,EclipseME将从中查找已知设备定义。
当你离开查找目录文本框,或按下了刷新(Refresh)按钮, EclipseME就会开始从指定的目录和其子目录中搜索设备定义。在EclipseME的1.5.0版本中,你不再需要“精确的”选择目录才能正确导入设备,只要它们位于你指定的目录中,EclipseME就应该能定位到它们。找到一个设备定义,EclipseME就会在列表中显示出一个。如果你希望停止搜索,只要按下取消(Cancel)按钮就可以。
搜索结束以后,勾选你想导入的那些设备定义。只有导入后的设备才能被用于定义项目以及启动程序。最后,选择完成(Finish)结束导入流程。
如果EclipseME没找到你希望导入的设备定义,那可能是EclipseME还不支持它。这种情况下,请向我们提交一个RFE(新特性需求)来要求增加对这种WTK的支持,别不好意思。具体怎么做请参见这里。
当你成功的增加了设备定义,你就会在设备管理首选项中看到这些导入的设备。
点确定来保存设备定义。
因为无线工具包有一些奇怪的设计(尤其是Sun的),如果你想使用Eclipse来调试MIDlet,那你必须改变一些默认的调试设定。像这样:
选择Eclipse的窗口菜单中的首选项。
打开左边面板中的Java选项分支并点击调试项。
确保接近对话框顶端的两项:发生未捕获的异常时暂挂执行 和在发生编译错误时暂挂执行都没有被勾选。
把接近对话框底部的:调试器超时的值增大到最少15000毫秒。
设定后的结果应该看上去类似这样:
如果你不做这些改变,在运行MIDlet的时候就会发生错误。
如果你想用ProGuard来产生混淆包,那你就需要把它配置到插件中。这样做:
选择Eclipse的窗口菜单中的首选项。
打开左边面板的J2ME选项分支,选择打包(Packaging)子项,然后点击混淆(Obfuscation)。
配置ProGuard的根目录(在对话框顶部)。
在下面按照你的需要配置ProGuard选项。更多关于ProGuard的信息,请参见 ProGuard的SourceForge站点。
Microsoft Windows用户请注意: 默认情况下,ProGuard假定你使用的的操作系统能够区分两个只是大小写不同的文件名的(比如,A.java和a.java被认为是两个不同的文件)。显然Microsoft Windows不是这样的操作系统(Windows是对文件名是大小写不敏感的)。因此Windows用户必须为ProGurad指定-dontusemixedcaseclassnames选项。如果你不这么做并且你的项目中有超过26个类的话,那么ProGuard就会默认混用大小写文件名,而导致class文件相互覆盖。安全起见,从0.9.0版本开始,EclipseME默认为ProGuard设置 -dontusemixedcaseclassnames选项。项目中有很多类的UNIX用户可以删除这个选项,这样最终产生的JAR文件的大小可以进一步缩小。
设定后的结果应该看上去类似这样:
如果你想使用EclipseME在无线下载(OTA)模式下调试MIDlet,那么你可能需要调整OTA首选项。这样做:
选择Eclipse的窗口菜单中的首选项。
打开左边面板中的J2ME选项分支并点击Over The Air项。
默认的设置应该是这样:
到这里,你已经准备就绪,可以开始创建你的MIDlet套件项目了。
最佳实践
本文档提供了一些关于使用EclipseME的“最佳实践”的讨论。虽然这些并不是强制性的,但是我们认为,按照下面的这些指南来进行开发将使你感到更轻松。
虽然并非强制,但我们非常强烈的建议你把Eclipse配置成在新项目中使用单独的源文件夹和输出文件夹。很遗憾的,这不是Eclipse的默认设置。
要改变这个设置,请在Eclipse的“窗口”菜单中选择“首选项”,然后在对话框的左边面板展开“Java”分支并点击 “构建路径”。在右边的面板选中“文件夹”单选按钮。然后对话框看上去应该是这样的:
如果你没有把Eclipse配置成使用单独的源文件夹和输出文件夹,EclipseME的一些功能,比如资源文件夹,就无法使用了。
如果你希望转换一个未使用单独源和输出文件夹的项目,可以按照下面的步骤来操作:
Java兼容等级包括两方面。第一是指编译器编译时可以接受的源文件语法。比如,Java 1.4引入了assert 关键字。如果在源代码兼容级别低于1.4的情况下编译一个包含assert语句的源文件,那么assert语句就会被视为语法错误。
兼容性级别的第二方面是指Java编译器产生的class文件的内部格式。随着Java语言的发展,class文件的内部格式上已经有了一些微小的变化。新的Java虚拟机实现可以接受旧的class文件格式,但旧的Java虚拟机实现则不能接受新的格式。
很多J2ME设备不能接受比1.1更新的class格式。不幸的是,很多针对这些设备的模拟器却可以接受新的格式,而没有任何警告。这会导致很大的混乱,因为MIDlet在模拟器上运行良好,但会被实际设备拒绝。
因此,为了减少麻烦,便于安装,我们推荐你总是把你的项目设置为按照Java 1.1格式输出。就我们所知,在那些接受新格式的设备上这也不会导致任何兼容性问题。
从EclipseME 0.9.0版本开始,只要在"New Midlet Suite"首选项 中选中了"Force Java 1.1 compliance"(强制兼容到Java 1.1),那么新建的MIDlet套件项目就会自动按照上述方式设置。你可以按照下面的步骤来调整一个现存项目的兼容性级别:
相对于前两项,使用资源目录是一个很个人的选择。有些开发者坚持认为非Java文件不应该出现在源文件所在的位置,但是也有些人认为把Java源文件和资源文件混放在一起没什么问题。 Eclipse本身对这点没有明确的约定。事实上,Eclipse是把资源目录视为源文件目录同等对待的。
如果你希望在创建项目时自动生成一个资源目录,只要确认在 "New Midlet Suite" 首选项 面板中勾选了对应的复选框并为资源目录取一个你喜欢的名字就可以。
如果你希望为现存项目增加一个资源目录,只要在其工作空间中创建文件夹,并在项目属性的“Java 构建路径”中把它添加到 “源代码”面板里就可以了。