最近研究了下基于Eclipse的S60的开发,发现里面的问题真不少,在结合几篇网上文献的基础上对这次搭建开发平台的过程做个总结。
开发环境
Eclipse 3.5.1
Java 1.6
Symbian S60 5th Edition
1.下载和安装Eclipse,这个我想就不多说了, 只要去www.eclipse.org上下载Eclipse就可以了,注意下载的版本,我用的Eclipse3.5.1,新的版本不知道这里的一些Eclipse的插件能否使用,下载完eclipse后只需要解压即可。
2.下载Eclipse ME
http://sourceforge.net/projects/eclipseme/files/
下载完后直接将里面的内容复制到eclipse的文件夹下
3.下载与安装Symbian S60 5th SDK
下载地址:http://www.developer.nokia.com/info/sw.nokia.com/id/ec866fab-4b76-49f6-b5a5-af0631419e9c/S60_All_in_One_SDKs.html
这上面几乎涵盖了所有S60的Java SDK,选择你所需要的版本然后下载。
下载完后是一个解压文件包,将该包解压后,点击Setup请安装,如有疑问,这里可参看安装文件中的S60 5th Edition SDK Installation Guide.pdf
安装结束后,开始 -> 所有程序 -> S60 Developer Tools -> 5th Edition SDK -> v1.0 -> 点击运行 Emulator,Nokia 模拟器运行图如下,证明你的 SDK 安装成功。
4.运行Eclipse,换个空的工作目录,Windows -> Preferences -> J2ME -> DeviceManagement 点击“Import...”选择你安装的 SDK 的根目录,比如我的是 F:/S60/devices/S60_5th_Edition_SDK_v1.0,点击 Refresh,这时候 S60Emulator 和 S60Device 就被 eclipse 识别了,点击 Finish 对它们进行加载。这时候你的“Device Management”下就多出来两个新的选项。选中 S60Emulator,点击 OK 完成环境配置。
5.Debug配置
Window -> Preferences -> J2ME,Debug Server Time-out(ms) 设置为 60000;Window -> Preferences -> Java -> Debug,取消对 Suspend execution on uncaught exceptions 和 Suspend execution on compilation errors 的选中;将 Debugger timeout(ms) 和 Launch timeout(ms) 分别设置为 15000、20000。点击 OK 保存设置。
6.新建工程项
Eclipse下
File->New->Project->J2ME->J2ME Midlet Suite,输入新的工程名称,点Next
在接下来的界面中,选择使用的设备,如下图,如果在之前已经设置过DeviceManagement ,这里会自动显示,如果没有请点击Manage Devices,设置方法如第3步。
最后点击Finish就可以了,界面如下图。
7.新建一个Class,跟以前建立的方式一样。
输入如下代码
- import javax.microedition.lcdui.Display;
- import javax.microedition.lcdui.Form;
- import javax.microedition.midlet.MIDlet;
- import javax.microedition.midlet.MIDletStateChangeException;
- public class HelloWorld extends MIDlet {
- Display display;
- public HelloWorld() {
- super();
- display = Display.getDisplay(this);
- }
- protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
- }
- protected void pauseApp() {
- }
- protected void startApp() throws MIDletStateChangeException {
- Form form = new Form("Hello S60!");
- form.append("Hello World!");
- display.setCurrent(form);
- }
- }
8.此时确保你的S60 5th 的Emulator已经运行,否则将报Failed to initialize session,Connection refused:Connect,错误,如下图。
9.接下来在你的S60 5th SDK安装目录下(比如,我的是F:/S60/devices/S60_5th_Edition_SDK_v1.0),找到epoc32/tools/ecmt,点击运行里面的ecmtgw.exe,如下图
点击Wlan,点击左侧的Connect,如下图
运行后效果
否则这里会报Ecmt gateway is not running的错误
10.接着回到Eclipse,双击项目工程下面的XX.jad,如下图。
点击选项卡中的Midlets,点击Add,修改名字,并在Class这里写我们之前新建的HelloWorld,如下图。
否则会报Symbian error code:-15的错误,如下图
11.都设置好以后,就可以点击Run,最后的效果如下图。