Symbian编程起步

第一章     环境搭建

      

       Symbian是Nokia公司开发的一款智能手机操作系统。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系列为例,介绍开发环境的安装过程。

 

1        环境组成
       Symbian开发环境一般分为两大部分:集成开发环境(含编程语言)、专有开发工具。程序员在集成开发环境下按Symbian规范要求编写程序代码,然后用专有开发工具编译、打包、发布Symbian平台执行程序。

       为统一开发规范,Symbian开发环境和编程语言一律采用如下配置:

集成开发环境(IDE):Microsoft Visual Studio 6.0,C++

专有开发工具:Series 60 SDK for Symbian OS 2.1、Active Perl 5.8.8、JRE1.4.2

 

2        安装IDE
       标准的Microsoft Visual Studio 6.0安装步骤,这里不做说明。

注意:必须包含Visual C++,必须打SP3的补丁。(现在有SP6补丁,直接打SP6补丁就可以了)

 

3        安装SDK
第一步:安装SDK,推荐为Symbian开发单独建一个目录,统一为:“C:\Symbian”不允许其他的目录出现。

第二步:安装Active   Perl和J2RE,安装到默认目录即可。

第三步:检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\”   。改完之后应该是这个样子的:
       EPOCROOT   =   \ 
      然后,在系统PATH中加入   \epoc32\tools目录以及\epoc32\gcc\bin目录就可以了。

(这里实际操作时如果没有EPOCROOT变量项则新建一个环境变量名为“EPOCROOT”使其变量值为“\Symbian\7.0s\Series60_v21_C\”,同时在PATH中的设置如上所述。)

4        配置VC
       把C:\Symbian\7.0s\Series60_v21_C\Series60Tools\ appwizard目录下的EpocAppWiz.awx和EPOCAPPWIZ.HLP文件拷贝到vc6的模板目录C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Template下。这样我们就可以在VC的新建工程中看到Series  60  AppWizard  v  1.9这个选项。

 

至此,SYMBIAN的开发环境已经全部搭建完毕。

       注意:如果安装了类似于ORACLE这样自带Perl和Java环境的软件,需要修改环境变量才能正确编译Symbian程序。具体要结合实际情况解决。

 

第二章     编译与打包

 

【说明】由于Symbian中有很多新的概念和新的组织架构,这些基本的概念和组织架构内容较多,不便在这里展开,详细地内容需要参考Symbian方面的书籍。

 

1        新建立第一个项目
       打开VC6开发环境,点击“File”--〉“New”--〉“Projects”--〉“Series  60  AppWizard  v  1.9”,然后根据提示,一路点击“Next”后可以完成项目框架的自动生成。过程中详细的分解说明详细参考Symbian方面的书籍。

2        导入项目
       如果要将已经建立好的工程导入到VC6.0中,比如我们将SDK中的例子HelloWorld转换成一个VC6的项目,我们首先进入\Symbian\6.1\Series60\Series60Ex\HelloWorld目录。在这里我们可以看到,在Symbian中,一个Project通常是按inc,   src,   group等目录组织(目录详细说明参考Symbian方面的书籍),group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行:  
       bldmake   bldfiles 

       这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在

       c:\Symbian \7.0s\Series60_v21_C\Epoc32\BUILD

       下生成

       \Symbian\7.0s\Series60_v21_C\Epoc32\BUILD\SYMBIAN\6.1\SERIES60\SERIES60EX\HELLOWORLD\GROUP

       这个目录,并在最底层目录下生成一堆   .make文件。

       然后,我们在同一个目录(……/GROUP)下执行如下命令:

       abld  makefile  vc6

       这样就会自动生成vc6的dsw文件,位置在

       \Symbian\7.0s\Series60_v21_C\Epoc32\BUILD\SYMBIAN\7.0s\SERIES60_V21_C\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS

       然后我们就可以在VC6种打开这个Symbian工程了。

【注】如果是采用第一种方式(新建)生成的项目,是不需要执行这两个命令的,所有相关文件会自动生成。(本人在实际工作中,发现用第一种方式(新建)生成的项目还是需要执行如上这两个命令的,否则没有dsw文件存在)

3        编译
       对于如上两种方法建立的项目,接下来就需要编译生成目标代码了。

     我们可以直接使用SDK提供的工具编译Symbian工程,也可以使用VC6提供的集成环境来编译转化过的Symbian工程。编译的结果存放在 \Symbian\7.0s\Series60_v21_C\Epoc32\Release\wins\UDEB\Z\SYSTEM\apps目录中。
3.1  使用SDK提供的工具编译Symbian工程

       我们在上一节的那个位置(……/GROUP)继续输入:
     abld   build   wins  udeb

     这个命令会编译我们的程序,最后在

       \Symbian\7.0s\Series60_v21_C\Epoc32\Release\wins\udeb

       目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。  

3.2  使用VC6编译Symbian工程

     我们直接打开工程dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果放在

       \Symbian\7.0s\Series60_v21_C \Epoc32\Release\wins\UDEB

目录中。然后我们打开模拟器debug版,就可以看到我们编译好的工程了。

      

4        打包

4.1  检查程序

     首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入

       bldmake   bldfiles和abld   build   wins   udeb

       然后打开模拟器,检测程序有无错误。

4.2  编译工程

      在程序无错误后,在命令行输入

       abld   build   armi   urel  

     执行这个命令之后会在目录

     c:\symbian\7.0s\Series60_v21_C \epoc32\release\armi\urel

       生成HELLOWORLD.APP和HELLOWORLD.RSC两个文件。

(如果该工程文件内没有资源,那么通过如下编译只能产生.app结尾的文件,不能产生.rsc结尾的资源文件)

4.3  建立.pkg文件

    在

     c:\Symbian\7.0s\Series60_v21_C \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"  
   

     其中,前面

"c:\symbian\7.0s\Series60_v21_C\epoc32\release\armi\urel\HELLOWORLD.rSC"

    是要打包安装的文件,"!:\system\apps\HelloWorld\HELLOWORLD.rSC"是安装的目标位置。在其中要注意的是,我们在目标位置中用“!”代替了实际的盘符。这样做得好处是在用户安装的时候,手机系统会提示用户选择要安装的位置,这就给了用户更大的灵活度。另外,在Symbian   系统中,安装的应用程序默认位置是“!:\system\apps”。

    编辑好pkg文件后,保存至相应目录。

(有时候如果没有生成rsc文件,则在以上PKG文件中也不用包含rsc结尾的文件)

4.4  打包程序

    在命令行中,在目录

       c:\Symbian\7.0s\Series60_v21_C \Series60Ex\helloworld\sis

    下运行命令makesis   HelloWorld.pkg


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值