一、
symbian/' target='_blank'>Symbian针对不同的终端有不同的开发包,目前多见的是NOKIA的60和80系列Series 60 SDK for symbian/' target='_blank'>Symbian OS (for the Nokia 7650 and the Nokia 3650), Nokia 9200 Communicator Series SDK for Symbian OS 以及CodeWarrior Development Studio for Symbian OS等。
Series 60 SDK for Symbian OS可以从forum.nokia.com免费获得,该开发包是一个压缩文件,下载后请解压缩后再进行安装。该SDK安装没有任何特别要求,有些同道认为 必须安装在C:下面,我不知道他们的系统配置,但我在win2K 下是装在哪个区都可以的。
如果是中文win2k,安装以后两个development tools:AIF Builder 和Sisar运行时会抛异常,这是因为SDK不是中文版本的缘故,在控制面板里将区域设置改为美国英语就OK了。
为了避免每一行代码都自己敲,我们可以利用一下该SDK与MS VC的集成,虽然和VC弄在一起其实帮了不多大忙,但在目前没有好的工具的情况下(Borland那个不知道什么时候才出来),也只好将就一下啦。
为了能顺利进行集成,MSDEV应该升级到Service Pack 3,幸运的是Service Pack可以从MS自由下载,目前的版本是SP5,可以到MS去搜一下Service Pack,翻几页就找到了。下载的时候请注意下载相应的语言版本,否则升级以后输入在编码时输入汉字会乱码的,此外SP5要求MDAC(数据存取组 件)2.6的版本,也可以从MS免费下载。
装完并升级完VC后,就可以进行整合了,步骤是:拷贝\6.1\Series60\Series60Tools\ApplicationWizard下的 两个文件AvkonAppWiz.awx和AVKONAPPWIZ.HLP到\Common\MsDev98\Template下面。很简单吧:)
OK,大功告成,运行一下VC,new 一个Project试一下,如果Project选项中有Series 60 AppWizard,就说明一切正常。嗯,不对,还有点不正常,如果你的项目目录选取在和Symbian安装不是同一个分区,到最后一步会出 现:xxx\xxx.dsw,the specified project couldn’t be instered into the current workspace。所以项目目录一定要和symbian共存在一个分区。关于这个原因,偶也没搞明白,估计是AvkonAppWiz.awx相应的地方 没带分区盘符所致。
Appwizard第二步:what type of application would you like create?有两种类型:
EIKON Control,Dialog based,还有一个选项:support view architecture. KAO,和VC搞windows太象了吧??的确是哦,这是偶准备下一次讨论的东东:应用程序框架.现在先不管它,随便选一个吧。
接下来就可以编译运行一把了,这个和编译运行ActiveX差不多,执行时需要选择执行文件,请选择S60模拟器:\6.1\Series60\Epoc32\realease\wins\UDEB\Epoc.exe 就OK 啦!
二、
下面我们就以60系列为例,介绍SDK的安装过程。
1.1 安装SDK
第一步,到Nokia论坛注册,下载最新的SDK。Nokia 网站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下载网址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com 网站下载最新的Active Perl Script 安装程序。到http://www.java.com/en/download/manual.jsp 下载最新的J2RE。
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:\Symbian而不是使用C:\program files等这样的目录。
第四步:安装Active Perl和J2RE,安装到默认目录即可。
第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\” 。改完之后应该是这个样子的:
EPOCROOT = \
然后,在系统PATH中加入 \epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。
实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。
1.2 配置VC
如果我们使用的是VC 6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003, 我们就只能安装Series 60 SDK for Symbian OS v2.1,因为Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把\Symbian\6.1\Series60\Series60Tools\ Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:\Program Files\ Microsoft Visual Studio\ Common\ MSDev98\ Template下。这样我们就可以在VC的新建工程中看到Series 60 AppWizard v 1.9这个选项.
填入Project Name 以后,确认。
一路“Next”,一个最简单的Symbian应用程序就建立好了。
如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian \6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按 inc, src, group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:
bldmake bldfiles
这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在\Symbian \6.1\Series60\Epoc32\BUILD下生成\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN \6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP这个目录,并在最底层目录下生成一堆 .make文件。
然后,我们在同一个目录运行刚才生成的abld.bat:
abld makefile vc6
这样就会自动生成vc6的dsw文件,位置在\Symbian\6.1\Series60\Epoc32\BUILD\ SYMBIAN\6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS。然后我们就可以在VC6种打开这个 Symbian工程了。
2 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在\Symbian\6.1\Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps目录中。
2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:
abld build wins udeb
这个命令会编译我们的程序,最后在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。
2.2 使用VC6编译Symbian 工程
我们直接打开运行abld makefile vc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在\Symbian\6.1\Series60 \Epoc32\Release\ wins\UDEB目录中。然后我们打开模拟器debug 版,就可以看到我们编译好的工程了。
3 打包
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的. sis文件:
3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。
3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:\symbian\6.1\series60\epoc32\release\armi\urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。
3.3.建立.pkg文件
在d:\Symbian\6.1\Series60\Series60Ex\helloworld\sis 用记事本建立或者修改工程的pkg文件,内容如下:
; 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文件后,保存至相应目录。
3.4.打包程序
在命令行中,转至pkg文件所在目录,运行命令makesis HelloW
三、
装S60 的sdk的时候 云里雾里 的搞了好长时间,到最后才算蒙混过关了,想来有几点总结供大家参考,也希望能给第一次装的兄弟们一点参考:
1 设环境变量,凡是说什么东西找不到 你就把它加到环境变量path里面,(我的电脑->属性->高级->path->编辑),它不找不到么,加里面它就找到了,设完环境变量后 msdos 窗口要重新打开.
2 在symbian里面似乎没有逻辑盘的概念,所以我建议把什么perl 之类的装到都装到一个逻辑盘的跟目录下,而且是自己建个目录.
俺的经历写到了注释里了
3 你所编译后的程序其实都在"...Epoc32\BUILD"目录下建了个相同的工程,你往下一层一层找就找到了你的 .dsw什么的,(symbian这么帅的想法!佩服!! 为什么呢?) 多看看目录有好处哦,如果vc说dsw出问题了,那你自己到目录里面去把它找出来
4 在G:\Symbian\7.0s\Series60_v21_C\Series60Ex\目录下(我下的是中文版路径不太一样,环境变量什么的我都自己 按我的来的,还有个在G:\Symbian\7.0s\Series60_v21_C\Examples下,我的是G盘哦)有个 helloworldbasic 是个很不错的例子 symbian的sdk里有关于它的说明,在:series 60 sdk Example application->Example application->hello world basic example. 仔细研究一下它的关于过程的uml图,有很多help
二.开发环境入门
2.1 安装SDK及VC
Nokia根据手机的屏幕大小和价格高低把手机分成了多个系列,现在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列采用Symbian os 6.1,然后又根据手机屏幕的特点对UI做了一些修改,这个被修改了的Symbian就被称为Nokia的60系列平台。使用60系列的手机型号包 括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD? 、Nokia 7610 、Nokia 6620 、Nokia 3620 、Nokia 3660 、Nokia 6600 、Nokia 3600、Nokia 3650、Nokia 7650、Nokia N-Gage?等。
下面我们就以60系列为例,介绍SDK的安装过程。
2.1.1 安装SDK
第一步,到Nokia论坛注册,下载最新的SDK。Nokia 网站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下载网址:http://www.forum.nokia.com/main/0,6566,034-4,00.html (需要邮箱确认激活,我第二天才受到确认邮件,晕死)
第二步,到http://www.activestate.com 网站下载最新的Active Perl Script 安装程序。到http://www.java.com/en/download/manual.jsp 下载最新的J2RE。(据说没用)
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:\Symbian而不是使用C:\program files等这样的目录。
第四步:安装Active Perl和J2RE,安装到默认目录即可。
第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\” 。改完之后应该是这个样子的:
EPOCROOT = \
(想告诉它就在你现在的目录里,但我没搞定,还是把它的全路径搜出来加到里面了,但目录最后要加 "\")
然后,在系统PATH中加入 \epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。
实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。
2.1.2 配置VC
如果我们使用的是VC 6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003, 我们就只能安装Series 60 SDK for Symbian OS v2.1,因为Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把\Symbian\6.1\Series60\Series60Tools\ Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:\Program Files\ Microsoft Visual Studio\ Common\ MSDev98\ Template下。这样我们就可以在VC的新建工程中看到Series 60 AppWizard v 1.9这个选项.
填入Project Name 以后,确认。
一路“Next”,一个最简单的Symbian应用程序就建立好了。
如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian \6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按 inc, src, group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:
bldmake bldfiles
这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在\Symbian \6.1\Series60\Epoc32\BUILD下生成\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN \6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP这个目录,并在最底层目录下生成一堆 .make文件。
然后,我们在同一个目录运行刚才生成的abld.bat:
abld makefile vc6
这样就会自动生成vc6的dsw文件,位置在\Symbian\6.1\Series60\Epoc32\BUILD\ SYMBIAN\6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS。然后我们就可以在VC6种打开这个 Symbian工程了。
2.2 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在\Symbian\6.1\Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps目录中。
2.2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:
abld build wins udeb
这个命令会编译我们的程序,最后在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录下生成我们的 helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。
2.2.2 使用VC6编译Symbian 工程
我们直接打开运行abld makefile vc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在\Symbian\6.1\Series60 \Epoc32\Release\ wins\UDEB目录中。然后我们打开模拟器debug 版,就可以看到我们编译好的工程了。
2.3 打包
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的. sis文件:
2.3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。
2.3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:\symbian\6.1\series60\epoc32\release\armi\urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。
2.3.3.建立.pkg文件
在d:\Symbian\6.1\Series60\Series60Ex\helloworld\sis 用记事本建立或者修改工程的pkg文件,内容如下:
; 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文件后,保存至相应目录。
2.3.4.打包程序
在命令行中,转至pkg文件所在目录,运行命令makesis HelloWorld.pkg。之后我们就在同一目录下得到了打包好的. sis文件。
四
Symbian编程VC开发环境设置
1 安装SDK及VC
Nokia根据手机的屏幕大小和价格高低把手机分成了多个系列,现在使用的系列有:Series 40、Series 60、Series 80 和Series 90。60系列采用Symbian os 6.1,然后又根据手机屏幕的特点对UI做了一些修改,这个被修改了的Symbian就被称为Nokia的60系列平台。使用60系列的手机型号包 括:Nokia 6670、 Nokia 6630、 Nokia 6260 、Nokia N-Gage QD? 、Nokia 7610 、Nokia 6620 、Nokia 3620 、Nokia 3660 、Nokia 6600 、Nokia 3600、Nokia 3650、Nokia 7650、Nokia N-Gage?等。
下面我们就以60系列为例,介绍SDK的安装过程。
1.1 安装SDK
第一步,到Nokia论坛注册,下载最新的SDK。Nokia 网站提供的Series 60 SDK for Symbian OS Nokia Edition SDK最新版本是v1.2,Series 60 SDK for Symbian OS的最新版本是v2.1。下载网址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com 网站下载最新的Active Perl Script 安装程序。到http://www.java.com/en/download/manual.jsp 下载最新的J2RE。
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:\Symbian而不是使用C:\program files等这样的目录。
第四步:安装Active Perl和J2RE,安装到默认目录即可。
第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\” 。改完之后应该是这个样子的:
EPOCROOT = \
然后,在系统PATH中加入 \epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。
实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。
1.2 配置VC
如果我们使用的是VC 6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003, 我们就只能安装Series 60 SDK for Symbian OS v2.1,因为Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把\Symbian\6.1\Series60\Series60Tools\ Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:\Program Files\ Microsoft Visual Studio\ Common\ MSDev98\ Template下。这样我们就可以在VC的新建工程中看到Series 60 AppWizard v 1.9这个选项.
填入Project Name 以后,确认。
一路“Next”,一个最简单的Symbian应用程序就建立好了。
如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian \6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按 inc, src, group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:
bldmake bldfiles
这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在\Symbian \6.1\Series60\Epoc32\BUILD下生成\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN \6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP这个目录,并在最底层目录下生成一堆 .make文件。
然后,我们在同一个目录运行刚才生成的abld.bat:
abld makefile vc6
这样就会自动生成vc6的dsw文件,位置在\Symbian\6.1\Series60\Epoc32\BUILD\ SYMBIAN\6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS。然后我们就可以在VC6种打开这个 Symbian工程了。
2 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在\Symbian\6.1\Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps目录中。
2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:
abld build wins udeb
这个命令会编译我们的程序,最后在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。
2.2 使用VC6编译Symbian 工程
我们直接打开运行abld makefile vc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在\Symbian\6.1\Series60 \Epoc32\Release\ wins\UDEB目录中。然后我们打开模拟器debug 版,就可以看到我们编译好的工程了。
3 打包
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的. sis文件:
3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。
3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:\symbian\6.1\series60\epoc32\release\armi\urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。
3.3.建立.pkg文件
在d:\Symbian\6.1\Series60\Series60Ex\helloworld\sis 用记事本建立或者修改工程的pkg文件,内容如下:
; 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文件后,保存至相应目录。
3.4.打包程序
http://www.ciitn.com/chanye/xitong/symbian/20110923_3139.html