搭建开发平台 EclipseME篇
[size=x-small;]1 [/size]初识Eclipse、EclipseME
你可以在http://www.eclipse.org/downloads/index.php 下载到Eclipse的解压安装文件、语言包以及许多实用工具插件。本文写作的时候最新版本是Eclipse SDK 3.1 M5a。不过,在这里笔者提醒大家,Eclipse并不是版本越新越好,新版本往往有一些难以解释的bug,而且一些插件提供商可能还没有来得及提供与之配套的版本。本文将采用Eclipse-SDK-M3.0.1 为大家演示。
既然Eclipse在java开发中如此重要,那么我们能否使用Eclipse开发手机应用程序呢?是的,这个答案就是EclipseME。
EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。
EclipseME为我们提供了如下的具体功能:
l Wireless toolkit preferences
l Create new J2ME Midlet Suite Project
l Java Application Descriptor (JAD) editor
l Eclipse launch support for Emulator
l JAR and obfuscated JAR packaging
l Export Antenna build files
工具
JDK 1.4.2
Eclipse M3.0.1
Eclipse 3.0.X 语言包
EclipseME 0.5.5
Sun WTK V2.2
Nokia Developer's
Suite 2.2
http://www.forum.nokia.com/main/0,6566,034-2,00.html
2 搭建Eclipse移动开发环境
Eclipse的安装与汉化
搭建Eclipse的第一个步骤就是要安装JDK,本文写作时,JDK的最新版本是5.0,但是用JDK5.0 + Eclipse开发手机程序有很多问题。所以目前的J2ME开发者基本上还是采用的JDK1.4.2,安装很简单,这里就不赘述了。
Eclipse的安装过程更加简单,事实上,这仅仅是一个解压缩的过程。将你下载的Eclipse SDK压缩包eclipse-SDK-M3.0.1拷贝到你的目标目录下,我们这里以D盘根目录为例,然后解压到当前文件夹。
先不要急着运行你的Eclipse环境,把Eclipse语言包NLpack-eclipse-SDK-3.0拷贝到相同路径(D盘)下解压缩,再运行,Eclipse将首先完成第一次启动配置,包括相应的汉化工作。接下来指定你的工作空间就可以了。
欢迎界面之后,就是Eclipse漂亮的工作界面!
安装EclipseME插件
选中EclipseME的复选框,接受协议,忽略功能部件验证,最后重新启动控制台,EclipseME插件就已经顺利的安装好了。
“At present the EclipseME package is not digitally signed. (Maintaining the keys required to digitally sign JAR files costs $400+/year. If anyone is interested in funding EclipseME to this extent, we'll be happy to sign the JAR files.)”
为了验证EclipseME确实已经安装上了,我们在工作台重启之后,打开“窗口 / 首选项”中,我们可以看到一个J2ME选项,这时,Eclipse移动开发的第一步,我们已经成功的迈出了!
注意:安装好EclipseME之后,我们要对原有的Eclipse配置做一点小小的改动。由于移动开发时我们需要首先启动手机模拟器,那么在Debug模式的Eclipse默认设置不等到模拟器启动就会失败。
修改这点很简单,在首选项的“java / 调试”中,把默认设置更改为如下图所示,调试模式就可以顺利的启动了。
加载厂商模拟器
EclipseME为我们提供了一个集成开发环境,但仅仅这些是不够的,我们还需要集成一种或多种手机模拟器来进行程序测试工作。目前,各大手机厂商都拥有多种型号的手机模拟器,Sun也提供了一种通用模拟器。这里我们采用Sun WTK和Nokia Developer's Suite 两种工具包来为大家演示。
加载Sun WTK v2.2
WTK(Wireless toolkit)是Sun为无线开发者提供的一个无线开发实用包。它拥有多个手机模拟器,我们在这里将WTK绑定到EclipseME,这将大大提高开发者的工作效率。
找到路径“窗口 / 首选项/ J2ME / Platform Component”,右键单击对话框右侧的wireless toolkit,我们可以添加当前系统已有的模拟器。在单击“浏览”按钮之后,我们选定WTK的安装目录。
确认之后,我们发现Platform Component一栏上添加了关于WTK的许多配置信息,此时,WTK已经被我们集成到EclipseME上了。
加载Nokia Developer's Suite 2.2
Nokia拥有多种型号的手机的模拟器,为了统一管理,它推出了用于集中管理这些模拟器的管理软件Developer's Suite。Developer's Suite本身是一个可以独立运行的工具包,就像WTK一样。不同的是Developer's Suite不需要EclipseME就可以和Eclipsese集成。为了统一开发环境,这里主要介绍的是如何用EclipseMe加载它所提供的模拟器。Developer's Suite功能较多甚至包含了地图编辑器和短信服务器,关于他们的详细内容,请参考Nokia开发者论坛。
首先,从Nokia论坛上下载安装文件,如果你的电脑中有旧版本的Developer's Suite,需要首先卸载旧版本。Nokia的开发包是提供给Nokia论坛的开发者使用的。所以,在接受安装协议之后,你需要提供你在Nokia论坛的用户名和安装序列号。
当我们完成认证之后,会发现Developer's Suite 2.2提供了多种安装方式,包括独立安装或者直接与Eclipse集成。
[size=x-small;]
[/size]
本文第二部分: http://yefeng177.blogchina.com/1572280.html
3 使用Eclipse进行无线开发
创建工程
在完成了环境搭建后,我们就可以在Eclipse中用我们所熟悉的方式开发无线应用程序。下面让我们完成一个经典Hello World程序。这里,我们选择使用Sun WTK 2.2作为模拟器。
在Eclipse工作台上的新建选项中,选择J2ME Midlet Suite,首先创建一个MIDP Suit。
在下一步中,我们可以看到有多种模拟器设备可供选择,选定“J2ME Wireless Toolkit 2.2 MIDP 2.0 Platform”后,继续下一步,直至完成。
此时,在包资源管理器中,Hello World套件项目已经被建立起来,我们注意到,Eclipse为我们自动绑定了J2ME library运行库,并创建了jad等配置文件。
创建MIDlet文件
完成项目创建后,让我来创建一个MIDlet类文件,它是整个套件的入口文件。也是Hello World的关键类。
选择J2ME Midlet之后,我们可以看到系统自动继承了MIDlet超类,请确保三个默认方法复选框被选中,输入类名,完成创建。
打开刚刚创建的Hello World,我们发现Eclipse已经自动帮我们生成了程序主体,继承方法以及一些注释。
如此之多的重复工作已经被Eclipse完成,以至于我们只需要在相应的方法中填写自己的实现过程就可以了。
首先在Hello World代码中导入界面类import javax.microedition.lcdui.*;
然后,我们仅仅需要用以下代码覆盖原先的构造函数:
public HelloWorld() {
super ();
// TODO 自动生成构造函数存根
Form form = new Form("Hello World");
form.append("Welcome to J2ME World!");
Display.getDisplay(this).setCurrent(form);
}
如此简单的几步,第一个J2ME就完成了!
执行MIDlet
在Hello World项目上单击右键,选择“运行…”,
在弹出对话框中,在Wireless Toolkit Emulator中新建一个配置,指定刚刚Hello World为入口文件,应用设置,最后运行。
可以看到,Eclipse自动启动了WTK的模拟器,显示出了Hello World的欢迎界面!
打包与混淆
打包,就是为套件生成jar文件,用来发布项目。右键单击目标项目,可以在J2ME选项中选定Create Package,生成jar包。
混淆,就是为了保护版权,增加别人反编译阅读源代码的难度;同时可以减少jar包的体积。在J2ME选项中也能够找到创建混淆包的选项。但首先,需要指定当前系统中混淆器的安装位置。
我们这里采用了开源免费的Proguard3.0.1作为混淆器。在“首选项 / J2ME / packaging / obfuscation”中,通过浏览指定Proguard3.0.1的安装(解压)路径。
应用保存设置之后,就可以成功的创建混淆包了。
注意:
很多初次使用的朋友会发现即便指定路径之后,依然不能顺利创建混淆,并且往往得到类似下面的警告信息。
出现这个错误的原因与JDK路径有关。我们在安装了JDK之后(以1.4.2为例),系统环境变量中存在两种JDK,一种是JDK SDK,一种是运行时环境(runtime)。Eclipse在解压安装时选择的是后者,而启动Proguard3.0.1需要的是前者。
修复这个问题很简单,在“首选项 / java / 已安装的JRE”中把你的JRE从指向运行时更改为指向SDK(即JDK的安装目录)
此时JRE将拥有完整JDK库文件,再次运行创建混淆,我们会发现在Hello World子目录deployed中包括了HelloWorld.jar,HelloWorld_base.jar, HelloWorld_base_obf.jar。他们分别是混淆后,混淆前等不同版本的jar包。