Symbian探索日记1 起步
两年多以前我开始了我的GBA探索之路,写下了10多篇GBA探索日记.我是从一个连GBA是什么都不知道的门外汉到国内最权威GBA开发论坛的班主.我告别GBA的开发已经有一年多了,当初一起研究GBA的朋友们,大家常去的论坛,网站现在大多都不见了,但是至今每天我登上我的QQ都还是能收到我的GBA探索日记的读者的请求加入的消息.今天,我开始了我的Symbian探索日记,希望我的Symbian探索日记一样能够带动国内的游戏开发爱好者共同前进.
其实,在从GBA到Symbian过程中间,我还经历了开发J2ME的一个过程.不过J2ME十分简单,而且资料十分充足,不然或许我早开始写我的J2ME探索日记了.Symbian的开发比J2ME可能要复杂一些,所以,同样是以一个学习总结的方式,开始写我的Symbian探索日记.
Symbian开发环境的配置
Symbian的开发环境有点麻烦,不过至少还有SDK的文档指导.我自己私底下摸索了不少,这里有必要说一下.首先要说的是,装SDK前你务必安装Perl.同时本文也是针对Microsoft Visual Studio.NET 2003的开发环境配置,所以也请安装Microsoft Visual Studio.NET2003.
如果你是开发Symbian 7.0s的,那么请看1,如果是Symbian 6.1的,那么请看2.
1. Symbian 7.0 (Nokia 6600,Nokia 7610 ...)
第一步,到Nokia官方开发论坛http://www.forum.nokia.com/ 去下Series 60 SDKs for Symbian OS, Nokia Edition. 现在Nokia 提供的Symbian SDK最新的是2.2不过都是for CodeWarrior. 我一直都是使用Microsoft Visual C++的,所以选择Series 60 SDK 2.1 for Symbian OS - Chinese Supporting MicroSoft .中文版本当然是首选,因为里面的模拟器可以显示中文.虽然官方资料上说这个版本支持Visual Studio.NET 2003,可是我发现里面其实并不支持Visual Studio.NET 2003,它只能生成VC6的工程,但是VC6的工程在Visual Studio.NET 2003自动转换后似乎要出一些问题.所以我们需要进行第二步
第二步,到Nokia官方开发论坛下载英文版本Series 60 SDK 2.1 for Symbian OS.我其实下的是2.1beta版本,不过相信都差不多.这个英文版本的SDK支持VC.NET 2003.
第三步,安装英文版本的SDK 2.1,然后把里面的
\Symbian\7.0s\Series60_v21_C\Epoc32\tools
目录复制保存到另外一个地方.然后卸载这个英文版本的SDK
第四步,安装中文版本的SDK 2.1,把上面保存的tools目录复制覆盖其相应的tools目录.
第五步,看官方SDK文档.不过里面用命令行的操作的时候,比如abld build和makmake的操作的时候需要设置VC的环境目录.设置的办法很简单,只要运行\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat, VC的全部命令行所需要的环境设置都自动设置完成.
2.Symbian 6.1(Nokia 3650,Nokia 7650,N-Gage...)
第一步,到Nokia官方论坛http://www.forum.nokia.com/去下Series 60 0.9 SDK for Symbian OS - Chinese, Nokia edition. 这个开发包有点老了,可能过段时间就找不到了.它是针对Symbian 6.1的SDK.它只支持VC6.0,不支持VC.NET 2003.但是我们还是有办法在VC.NET 2003里面使用它.
第二步,到Nokia官方开发论坛下载英文版本Series 60 SDK 2.1 for Symbian OS.我其实下的是2.1beta版本,不过相信都差不多.这个英文版本的SDK支持VC.NET 2003.
第三步,安装英文版本的SDK 2.1,然后把里面的
\Symbian\7.0s\Series60_v21_C\Epoc32\tools
目录复制保存到另外一个地方.然后卸载这个英文版本的SDK
第四步,安装SDK 0.9中文版. 0.9的版本如果在使用makmake命令建立VC工程的时候,如果输入VC7,它会说不支持,如果输入VC6生成VC6.0的工程是不能在VC.NET 2003下用的.那么最好的办法就是我们在使用makmake生成VC工程的时候,先把\Symbian\6.1\Shared\EPOC32\TOOLS目录替换成前面的SDK 2.1的tools,然后生成完后一定要恢复回0.9版本的tools. 我通常会把这两个切换做成批处理文件,方便切换.
第五步,看SDK的官方文档.
第六步,在打包sis文件的时候,需要注意一下.请看下面这个针对helloworld的打包
在d:\Symbian\6.1\Series60\Series60Ex\helloworld\sis 用记事本建立或者修改工程的pk文件,内容如下:
; HelloWorld.pkg
;
;Language - standard language definitions
&EN
; standard SIS file header
#{"HelloWorld"},(0x10005B91),1,0,0
;Supports Series 60 v 1.2
(0x101F8202), 0, 0, 0, {"Series60ProductID"}
;
"d:\symbian\6.1\series60\epoc32\release\armi\urel\HelloWorld.APP"-"!:\system\apps\HelloWorld\HelloWorld.app"
"d:\symbian\6.1\series60\epoc32\release\armi\urel\HELLOWORLD.rSC"-"!:\system\apps\HelloWorld\HELLOWORLD.rSC"
其中,前面"d:\symbian\6.1\series60\epoc32\release\armi\urel\HELLOWORLD.rSC"是要打包安装的文件,"!:\system\apps\HelloWorld\HELLOWORLD.rSC"是安装的目标位置。在其中要注意的是,我们在目标位置中用“!”代替了实际的盘符。这样做得好处是在用户安装的时候,手机系统会提示用户选择要安装的位置,这就给了用户更大的灵活度。另外,在Symbian 系统中,安装的应用程序默认位置是“!:\system\apps ”。
编辑好pkg文件后,保存至相应目录。在命令行中,转至pkg文件所在目录,运行命令makesis HelloWorld.pkg。之后我们就在同一目录下得到了打包好的.sis文件。
2004-12-5