一、S60手机是智能手机中最常见的,市场份额最大。S60也有众多的版本存在,一些版本的变更还带来了二进制代码的兼容性问题。因此,要查阅官方资料了解目标手机对应的版本,再选择正确的SDK。
Series 60版本:
l Series 60第一版 对应Symbian OS 6.1
l Series 60第二版 对应Symbian OS 7.0s
l Series 60第二版Pack 1 对应Symbian OS 7.0s
l Series 60第二版Pack 2 对应Symbian OS
l Series 60第二版Pack 3 对应Symbian OS
l Series 60第三版 对应Symbian OS 9.1
关于各个版本的差异,请参考Nokia forum。
二、环境配置
2.1安装SDK
第一步,到Nokia论坛下载SDK, http://www.forum.nokia.com/main/resources/tools_and_sdks/index.html,这里选择的是S60 2nd Feature Pack 2 简体中文版。请注意不同的版本对应的IDE也各不相同,参考上述页面中的说明。例如,S60 2nd Feature Pack 2支持Microsoft Visual Studio 6 和Microsoft Visual Studio .NET 2003 Professional。
J 如果你下载的不是这个版本,可能这篇文章并不完全适合你。因为几乎Symbian的每个版本的安装都有细微变化,参考安装文件下的realeasenotes.txt
第二步,下载Perl和Java的运行时环境,SDK需要他们的支持。到http://www.activestate.com 网站下载最新的Active Perl Script 安装程序。S60 2nd Feature Pack 2需要Active Perl
第三步,安装Perl和J2RE。
第四步,安装SDK,最好安装到独立目录,例如D:\Symbian。
第五步,安装VC6,打好SP5补丁(最少SP3)。VC的安装和SDK的安装是独立的,没有先后顺序的要求。坦率的说对于Symbian开发,VC6不是一个非常好的IDE,不过开发者(至少我)对其相当的熟悉。如果你采用其他的IDE,比如VC.net或CodeWarrior,请参考SDK的文档。
2.2 配置环境
也许你之前已经看了一些手动环境变量的文章。手动配置环境的一个缺点是当你安装了不同版本的SDK后,在这些版本间做切换变得十分麻烦,尽管可以利用Sbset命令做磁盘影射来巧妙的解决这一问题。对于新手,可以使用Symbian\8.0a\S60_2nd_FP2_SC\Series60Tools下的environmentswitch工具来配置环境。该工具利用一个XML来配置多种环境下的变量,并提供了一个任务栏上的常驻图标来切换不同的环境。如图有两个环境,一个是我配置的Series 60 2nd Ed. SDK,另一个是系统自带的Demo。活用这个工具可以帮助你。
点击Setup…将打开settings.xml文件。
<settingsfile>
<environment name="Series 60 2nd Ed. SDK for Symbian OS, FP 2 - Chinese version(VC6)">
<env key="PATH" action="prepend" value="C:\Perl\bin;"/>
<env key="PATH" action="prepend" value="D:\Symbian\8.0a\S60_2nd_FP2_SC\Epoc32\Tools\;"/>
<env key="PATH" action="prepend" value="D:\Symbian\8.0a\S60_2nd_FP2_SC\epoc32\gcc\bin;"/>
<env key="PATH" action="prepend" value="C:\Program Files\Common Files\Symbian\tools;"/>
<env key="PATH" action="append" value=";D:\Microsoft Visual Studio\VC98\Bin;D:\Microsoft Visual Studio\Common\MSDev98\Bin"/>
<env key="EPOCROOT" action="replace" value="\Symbian\8.0a\S60_2nd_FP2_SC\"/>
<command value="devices -setdefault @S60_2nd_FP2_SC:com.nokia.series60" binding="entry"/>
<command value="epoc.exe" binding="menu" caption="Emulator UDEB"/>
<command value="epoc.exe -rel" binding="menu" caption="Emulator UREL"/>
</environment>
<environment name="Demo">
<testwindow on="Entered empty Demo environment" off="Goodbye"/>
</environment>
</settingsfile>
environment元素
一个environment元素代表一个环境,name代表在任务栏上显示的名称。
env元素
env元素是environment的子元素,代表了一个环境变量。key是名字,value是值,action代表动作。可选的动作有"prepend"、"append"、"replace",分别代表前置、后置和替换。
在上面的例子中,首先是配置Path:分别配置了Perl、VC、Symbain的Path路径,请参考你的安装目录进行配置。配置Path一般不要使用" replace "作为Action。如果使用" prepend ",请确保Value的最后一个字符是";"。如果使用"append",请确保Value的第一个字符是";"。
配置EPOCROOT,也就是SDK的根目录,value="\Symbian\8.0a\S60_2nd_FP2_SC\"。这个参数要以"\"开始,以"\"结尾,不能包含驱动器号。
command元素
command元素是environment的子元素,代表了一个命令。命令元素包含以下属性:
'value' 属性(必需) – 执行的命令
'directory'属性- 工作目录
'binding'属性- 何时执行,可选值有:
"entry" –环境被选择时执行。
"exit" –退出环境时执行 (当EnvironmentSwitch退出或用户切换到别的环境)。
"middlebutton" – 鼠标中键双击时执行,很方便的功能哦。
"doubleclick" – 鼠标左键双击时执行。
"menu" – EnvironmentSwitch菜单被选中时执行,这个最常使用。
'caption' attribute – 如果'binding'为menu,代表菜单上显示的名称