本文和大家重点学习一下Symbian开发的入门知识,主要包括Symbian开发环境的安装和配置等内容,相信通过本文的学习你对Symbian开发一定会有深刻的认识,请看本文详细介绍。
Symbian开发入门
这学期专业实践要做一个关于SymbianS60的手机软件,所以我选择了CarbideV1.2OEM和S60SDK3rdFP1来作为自己的开发环境。
具体的环境搭配如下:
1.首先安装Carbide,选择OEM版本,至于License的话在网上可以查的出来,大家自己去找,然后会出现release_notes提示安装Perl和SDK等.
2.安装Perl,选择activeperl5.6.1的版本安装,否则会出现下面的网络上面常见的问题:
使用Carbide用向导新建了SymbianOSC++Project,选择3rdEd.GUIApplication模版,根据步骤建立了工程,选择EmulatorDebug,编译时出现下如问题:
make[1]:***Noruletomaketarget`\Symbian\9.2\S60_3rd_FP1_2\EPOC32\BUILD\Symbian\carbide\workspace\test\group\TEST\WINSCW\TEST.WINSCW'.Stop.testline0这样的问题,如果选择5.6.1的话就不会出现上面的问题。(所以软件不是最新版本就是最好的阿!).
3.安装SDK最好在他的默认目录,而且这几个都是最好在一起,我选择的是C盘安装软件和操作系统,给了35G的大小。D盘存取数据。所以这些我都是安装在他的默认目录下面。Carbide和Perl安装在C盘programfiles.SDK就直接安装在了C盘上面了。这样的话基本上就差不多了。
4.打开Carbide,要将工作的空间选取在和自己安装carbide的盘符相同的盘下面。否则的话会出现下面的错误:
WARNING:EPOCROOTdoesnotspecifyanexistingdirectory
BLDMAKEERROR:Directory"\Symbian\9.2\S60_3rd_FP1\EPOC32\"doesnotexist
上面的是我在配置Symbian开发环境时候的一点经验之谈,希望能够对大家有一些帮助,也欢迎大家给与指教,给我这个菜鸟一些帮助,在此先感谢大家了。
PS:我是一个菜鸟,也是刚开始学习Symbian开发相关,所以对Symbian开发不太了解,之所以在这里写博客是我发现里面有很多Symbian开发的高手,所以希望大家能够给与我一些帮助,在此再次感谢了!
◆开发软件来编译程序,编写程序。即IntegratedDevelopmentEnvironment(IDE),它包括编辑器,编译器和连接器。
推荐用Nokia’sCarbide.c++ExpressEdition(basedontheEclipseIDE)或者VisualStudio.NET2003。
需要软件开发工具包,即SoftwareDevelopmentKit(SDK),它允许你写,创建程序为你的手机。
对N73,需要S602ndEditionFP2version9.1introducedacompletebreakfromolderversions.
ToworkonSymbianOSversion9.1orlater,applicationsmustbeslightlymodifiedandrecompiled.
不同的Symbianos用户界面userinterface(UI)是不一样的。因此要选择正确的SDK。
•S60rdEditionFeaturePack1-SymbianOSv9.2
•S603rdEdition-SymbianOSv9.1
•S602ndEditionFeaturePack3-SymbianOSv8.1
•S602ndEditionFeaturePack2-SymbianOSv8.0a
•S602ndEditionFeaturePack1-SymbianOSv7.0s
enhanced
•S602ndEdition-SymbianOSv7.0s
•S601stEdition-SymbianOSv6.1
由于我们的os是v9.1的,所以需要S603rdEdition。
可以在http://developer.symbian.com/main/tools/sdks/s60/index.jsp上下载
下载IDECodeWarriorDevelopmentStudioforSymbianos3.1(OEM,ProfessionalandPersonal)
下载地址为:http://www.forum.nokia.com/info/sw.nokia.com/id/4d2d8611-c490-4f6e-a931-
ea37ba4f040d/CodeWarrior_Development_Studio_for_Symbian_OS_Personal_Edition_Version_3_1.html
安装其个人版,可试用90天。
安装SDK
验证SDK的安装
1、用devices命令设置S603rdEditionSDKforSymbianOSforC++作为默认的设备
例如:devices-setdefault@S60_3rd:com.nokia.S60
2、到包含helloworldbasic的目录下默认安装下为cdC:\Symbian\9.1\S60_3rd\S60Ex\helloworldbasic
3、再进到group目录下,该目录下包含bld.inf和helloworldbasic.mmp文件
4、验证编程环境
运行—〉输入cmd—〉输入epoc—〉出现模拟器则表示安装成功。
注:参看Getting_Started_final.pdf
◆Nokia根据手机的屏幕大小和价格高低把手机分成了多个系列,现在使用的系列有:Series40、Series60、Series80和Series90。60系列
采用Symbianos6.1,然后又根据手机屏幕的特点对UI做了一些修改,这个被修改了的Symbian就被称为Nokia的60系列平台。使用60系列的手
机型号包括:Nokia6670、Nokia6630、Nokia6260、NokiaN-GageQD™、Nokia7610、Nokia6620、Nokia3620、Nokia3660、
Nokia6600、Nokia3600、Nokia3650、Nokia7650、NokiaN-Gage™等。
下面我们就以60系列为例,介绍SDK的安装过程。
2.1.1安装SDK
第一步,到Nokia论坛注册,下载最新的SDK。Nokia网站提供的Series60SDKforSymbianOSNokiaEditionSDK最新版本是v1.2,Series
60SDKforSymbianOS的最新版本是v2.1。下载网址:http://www.forum.nokia.com/main/0,6566,034-4,00.html
第二步,到http://www.activestate.com网站下载最新的ActivePerlScript安装程序。到http://www.java.com/en/download/manual.jsp
下载最新的J2RE。
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:\Symbian而不是使用C:\programfiles等这样的目录。
第四步:安装ActivePerl和J2RE,安装到默认目录即可。
第五步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\”。改完之后应该是这个样子的:
EPOCROOT=\
然后,在系统PATH中加入\epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。
实际上,SymbianSDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。
2.1.2配置VC
如果我们使用的是VC6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003,我们就只能安装Series
60SDKforSymbianOSv2.1,因为Series60SDKforSymbianOSNokiaEditionSDKv1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把\Symbian\6.1\Series60\Series60Tools\ApplicationWizard目录下的AvkonAppWiz.awx和
AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:\ProgramFiles\MicrosoftVisualStudio\Common\MSDev98\Template下。这样我们就可以
在VC的新建工程中看到Series60AppWizardv1.9这个选项.
填入ProjectName以后,确认。一路“Next”,一个最简单的Symbian应用程序就建立好了。
如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian\6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按inc,src,group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:
bldmakebldfiles
这个命令会在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:
abldmakefilevc6
这样就会自动生成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工程
我们在上一节的那个位置继续输入:abldbuildwinsudeb
这个命令会编译我们的程序,最后在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录下生成我们的helloworld,然后我们可以从开始
菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。
2.2.2使用VC6编译Symbian工程
我们直接打开运行abldmakefilevc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在
\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录中。然后我们打开模拟器debug版,就可以看到我们编译好的工程了。
2.3打包
我们以SDK1.2提供的HelloWorld为例,制作可以在手机中安装的.SIS文件:
2.3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmakebldfiles和abldbuildwinsudeb,然后打开模拟器,检测程序有无错误。
2.3.2.编译工程
在程序无错误后,在命令行输入abldbuildarmiurel。执行这个命令之后会在目录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-standardlanguagedefinitions
- &EN
- ;standardSISfileheader
- #{"HelloWorld"},(0x10005B91),1,0,0
- ;SupportsSeries60v1.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文件所在目录,运行命令makesisHelloWorld.pkg。之后我们就在同一目录下得到了打包好的.sis文件。
2.4手机测试
将打包好地.sis文件上传至手机中,然后在手机的应用程序管理器中就可以看到我们打包好的文件。选择“安装”命令,系统会提示用户要安
装的位置,选择安装位置后,我们制作的应用程序就安装到手机中了。
我们回到手机的主菜单,就会发现新安装的HelloWorld应用程序。打开运行,结果和在模拟器中看到的基本是一样的。