近期可能会有针对手机开发的项目,先调查了SymbianS60开发环境的搭建,搭这个环境还真不容易,访问了N多个网站,看了N多个博客,终于把环境搭建完成了,现在记录一下:
一下内容部分转载于:
http://blog.csdn.net/defonds/archive/2010/01/30/5272933.aspx
造轮子的内容我就不自己写了……
背景:系统(WindowsXP)、JDK(jdk-6u13-windows-i586)、WTK(wtk2.5.2)、IDE(eclipse-jee-galileo-SR1-win32)、eclipseme 插件(我使用的在线安装方法:http://www.eclipseme.org/updates/)、混淆器(Proguard4.2)。
关于 WTK 安装配置、eclipseme 插件安装、混淆器的安装等这里就不再赘述,详细过程可以去参考作者以前的相关博客。这里只讲述一下 S60 SDK 的安装和 eclipse 相关环境搭建。
步骤一、去 Nokia 官方下载 S60 第三版 FP1 的 SDK 安装包。 nS60_jme_sdk_3rd_e_FP1.zip,大小 246 MB。下载页面:http://www.forum.nokia.com/info/sw.nokia.com/id/6e772b17-604b-4081-999c-31f1f0dc2dbb/S60_Platform_SDKs_for_Symbian_OS_for_Java.html,选择“3rd Edition,FP 1(240MB)”进行下载。
步骤二、安装 Nokia S60 第三版 SDK。
解压缩nS60_jme_sdk_3rd_e_FP1.zip。双击运行解压缩后的 setup.exe 安装文件。安装结束后,开始 -> 所有程序-> S60 Developer Tools -> 3rd Edition FP1 SDK -> MIDP ->点击运行 Emulator,Nokia 模拟器运行图如下,证明你的 SDK 安装成功。
步骤三、配置 Eclipse 下 SDK 的 J2ME 开发环境。
启动eclipse,换个空的工作目录,Windows -> Preferences -> J2ME ->DeviceManagement 点击“Import...”选择你安装的 SDK 的根目录,比如作者的是E:\tools\s60jmesdkv3fp1\sdk\S60_3rd_MIDP_SDK_FP1,点击 Refresh,这时候S60Emulator 和 S60Device 就被 eclipse 识别了,点击 Finish 对它们进行加载。这时候你的“DeviceManagement”下就多出来两个新的选项。选中 S60Emulator,点击 OK 完成环境配置。
步骤四、Debug 设置。
Window -> Preferences -> J2ME,Debug Server Time-out(ms) 设置为60000;Window -> Preferences -> Java -> Debug,取消对 Suspendexecution on uncaught exceptions 和 Suspend execution on compilationerrors 的选中;将 Debugger timeout(ms) 和 Launch timeout(ms) 分别设置为15000、20000。点击 OK 保存设置。
步骤五、开始在 SDK 模拟器下编程。
新建 J2ME 项目 HelloS60,只有一个 MIDlet,源码如下:
package com.defonds.s60; 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); } }运行效果图:
有的朋友可能会有“Jar file could not be initialized”警告,如下图所示:
解决的办法是:Window -> Preferences -> J2ME -> Device Management,选择S60 的 emulator 后选 edit ,在 Edit S60Emulator Definition 中的 Basic 页项中将[%classpath%|-classpath "%classpath%"] 删除掉就可以了。注意删掉后,eclipse一定要重启,不然还是出那个警告。
有时候也有“Failed to initialize session”警告,如下图所示:
解决办法是:换一个新的空的工作目录,然后按照上述步骤一到步骤六操作一遍就可以了。
还有可能遇到这样的问题:
failed to initialize session
解决的办法是:
在XXX.jad文件中添加一行:
MIDlet-1:[这和MIDlet-Name的属性相同],[图片文件名],[主Midlet,包含全路径]
如:
MIDlet-Jar-Size: 3558
MIDlet-Jar-URL: first.jar
MIDlet-Name: first Midlet Suite
MIDlet-Vendor: Midlet Suite Vendor
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-1:first Midlet Suite,hb.jpg,test.First
如果你使用的JRE为1.6的话,最好修改一下模拟器的配置文件(默认不支持1.6):%SDKRoot%\bin\epoc32\tools\ecmt\config\config.properties
epdt.java.version.start=1.4.1,1.4.2,1.5,5.0
改为:
epdt.java.version.start=1.4.1,1.4.2,1.5,5.0,1.6
到这里为止,你的Symbian S60平台开发环境算是配置完成了。