【手机软件】symbian系统开发教程1746.docx
symbian系统开发教程(一)第一章:Symbian OS简介作者:谢兴 enigma199711.1. Symbbian系统统简介 当前有很多多手机运行SSymbiaan OS,数数量甚至超出出您的想象。到到目前为止已已经有超过77500 万万、100 多种型号的的手机运行SSymbiaan OS。这这些电话大部部分都形态迥迥异:有的配配有键盘,有有的采用笔控控输入;有的的配备TFTT 彩色屏幕幕,有的则配配备黑白LCCD 显示屏屏;有的擅长长于音乐播放放,有的专注注于电子游戏戏、图像处理理甚至电视功功能;有的手手机面向个人人消费者,有有的专门针对对商务用户;有的是为单单手操作设计计的,有的是是为双手操作作设计的种类繁多不不一而足。SSymbiaan OS 手机受到广广大消费者的的喜爱。仅22005 年年就售出34400 万部部Symbiian OSS 手机这相当于每每不到一秒钟钟就有一部SSymbiaan OS 手机被出售售。网络运行行商同样青睐睐Symbiian OSS 手机。全全球有2500 多个移动动电话网络运运行商选择了了Symbiian OSS 手机。所所有这些都表表明现在市面面上有成千上上万的手机是是基于Symmbian OS 的,所所以为symmbian系系统开发的应应用程序会得得到广泛的应应用。现在已已经有54000 多种商商业性应用软软件可供Syymbiann OS 手手机应用。本本教程旨在为为您提供一些些编写Symmbian OS 应用用程序的入门门知识。希望望它会对您有有所裨益,为为开发Symmbian OS 应用用程序打下一一个良好的基基础。1.2. 开发语言言 从开发初期期起,Symmbian OS 就是是专门为移动动电话而设计计的,因此从从弹性的电源源管理(reesilieent poower-mmanageement)到内存资源源的谨慎使用用,全都是为为了满足手机机操作系统的的特定需求。作作为Symbbian OOS 的开发发人员,您将将受益于Syymbiann OS 这这样一个专门门为移动设备备而创立并随随着市场一起起发展的开发发平台。Syymbiann OS 最最“基本”的编程语言言是一种改进进的C+。SSymbiaan OS C+ 经经过特殊设计计与优化,以以利于降低手手机电池能耗耗和内存使用用。比如,为为了节约电池池耗电,所有有Symbiian OSS 程序都是是基于事件(eventt-baseed) 的,而而当没有任何何程序进行事事件处理时,CCPU 就进进入休眠。您您在开发软件件时也可以使使用Javaa、Pythhon、.NNET(使用用Visuaal Bassic 和带带AppFoorges Croossfirre 的C#)、Perrl、OPLL和Adobbe Flaash,但是是Symbiian OSS C+ 是最强大(它它允许最大限限度的利用操操作系统提供供的所有功能能)也是最快快捷(因为它它直接以编译译码运行,而而无需在运行行时进行解译译)的语言。这这也就是为什什么我们在本本书中选择CC+ 来向向您演示如何何进行Symmbian OS 开发发的原因。好好了,闲言少少叙,让我们们言归正传。 1.3. 准备工作作 首先您需要要有一台电脑脑能创建并测测试在Symmbian OS 手机机上运行的应应用程序。这这也就是说电电脑要有一个个较快的CPPU 处理器器(至少1.5GHz)和和相当大的RRAM(5112MB或更更大)以及一一个大容量硬硬盘(至少有有2GB 剩剩余空间)。该该电脑必须能能运行Winndows 2000 或XP 操操作系统。然然后您需要开开发软件来帮帮助您编写代代码并进行编编译。这可通通过包含编辑辑程序(edditor)、编译程序序(comppiler) 和链接程程序(linnker) 的集成开发发环境(IDDE) 来完完成。在这推推荐两种适合合Symbiian OSS 程序开发发的IDE。对对于开发非商商业用途的SSymbiaan OS 应用程序,NNokia 的Carbbide.cc+ Exxpresss 版本是最最理想不过了了,它建立在在Eclippse IDDE 的基础础上,供免费费下载。对于于使用Vissual SStudioo.NET 2003 的程序员来来说,也可选选择Carbbide.vvs。这是一一套基于Miicrosooft Viisual Studiio .NEET20033 IDE 的工具,用用于开发S660 和Seeries 80 软件件。您还需要要软件开发包包(SDK), 专门用用来编写和创创建Symbbian OOS 应用程程序。基于不不同手机类型型,有不同版版本的SDKK 供选择,具具体使用哪个个SDK 请请见以下几页页的说明。如如果您还没有有决定具体的的手机类型或或平台而无法法确定选择哪哪个SDK,我我们建议您一一开始可使用用S60 和和UIQ SSDK。如果果您想为最新新款的手机(如如Nokiaa 32500、E60、EE61、N771、N800、N91、NN73 或NN93)编写写应用程序,那那就选择基于于Symbiian OSS v9 的的SDK(UUIQ 3 或S60 第三版),要要么您就选择择更低版本的的SDK(UUIQ 2.1 或S660 第二版版)。 不同版本的的Symbiian OSS 之间有什什么区别?主主要的分别是是,在Symmbian OS 9.1 版本之之前,为较低低版本的Syymbiann OS编写写的软件往往往可在较高版版本上运行,但但9.1 版版本与以往的的版本截然不不同。如要运运行在9.11 版的Syymbiann OS 上上,应用程序序必须稍加修修改并进行再再次编译。 接下来您您需要下载您您所选择的IIDE 和SSDK。以下下章节将向您您介绍如何在在互联网上找找到这些工具具。 1.4. S60 平台 S600 平台是一一个完整的应应用程序包(ppackagge),用户户接口和构建建于Symbbian 系系统技术的开开发工具。SS60 用户户接口 (UUI) 经过过精心的设计计,方便用户户使用,便于于单手操作。从从用户的角度度看来,该平平台最大的特特点在于它的的用户界面:大的彩屏和和各种输入键键(两个软件件键, 五方方位的导航键键,和几个专专用的键)。 单手操作和和大彩屏的优优点能使应用用程序开发者者提供更有吸吸引力的内容容和提供更方方便的导航功功能,同时增增加用户使用用手机时的愉愉快体验。 目前,ss60平台上上已经存在各各种各样的应应用软件. 其中最重要要的有:高级级智能电话应应用程序,个个人信息管理理应用程序(PPIM)(例例如, 电话话簿,日历, 相册), 短信, 网页浏览, 电子邮件件和应用程序序安装引擎,它它能够让您自自由地从电脑脑上下载软件件到您的手机机上。 S600 第三版本本支持两种不不同的外观:Ø QVVGA Poortraiit (2440x3200)Ø QVVGA Laandscaape (3320x2440)1.5. 如何选择择SDK 基于Symmbian OS 的手手机外型各异异,用户界面面(UI) 也不尽相同同。为了给特特定的用户界界面编写应用用程序,您必必须选择特定定的SDK(尽尽管应用程序序的引擎往往往与用户界面面无关)。大大部分运行SSymbiaan OS 的手机采用用的是S600 用户界面面并使用键盘盘操作。S660 已经发发布了一系列列版本,选择择正确的S660 SDKK 和相应的的Symbiian OSS 十分重要要: S60 第三三版 Symbbian OOS v9.1 S60 第二二版功能包33 Symbbian OOS v8.1 S60 第二二版功能包22 Symbbian OOS v8.0a S60 第二二版功能包11 升级Syymbiann OS vv7.0s S60 第二二版 Symbbian OOS v7.0s S60 第一一版 Symbbian OOS v6.1您可在以下网站站查到每一系系列S60 SDK 所所包含的手机机型号列表:m/deveeloperr/sdkss/sdkss_seriies60.asp 其它大部分分基于Symmbian OS 的手手机采用笔控控输入的UIIQ 用户界界面。以下网网站列出了基基于各版本的的UIQSDDK 的手机机机型wwww.symbbian.ccom/deevelopper/sddks/sddks_uiiq.aspp 您可以到以以Nokiaa的网站下载载SDK 1.6.Carrbide.c+ 集集成开发环境境(IDE) 前面已经提提到了各种集集成开发环境境,这里我们们主要介绍CCarbidde.c+的集成开发发环境。Caarbidee.c+的的集成开发环环境(IDEE)基于Ecclipsee集成开发环环境版本3。增增添了能使EEclipsse处理syymbiann c+ 源文件和编编译Symbbian工程程的插件。这这些插件分为为以下几类:Ø C/C+开发发工具箱(CCDT)。这这是一个使得得Eclippse管理和和编译symmbian工工程的工具集集Ø Syymbiann插件。这些些插件由syymbiann开发,使得得eclippse能够处处理Ecliipse CC+的概念念,同时提供供对Symbbian操作作系统软件开开发工具箱和和Symbiian工具链链的支持。Ø Nookia插件件。由Nokkia开发,提提供对Symmbian操操作系统工具具箱的更多支支持。插件实实现了C+编译器,ssymbiaan系统的调调试器,并且且加入了Caarbidee.c+系系列产品的商商业版本的高高级特性。 很明显,因因为Carbbide.cc+是基本本的Ecliipse集成成开发环境,开开发者可以进进一步定制其其它的商业或或免费的插件件,比如说,一一个版本控制制系统,一个个UML建模模系统等。 Carbiide.c+有自己的的安装程序,所所以安装比较较简单。在启启动这个产品品之后,用户户看到的集成成开发环境和和Eclippse开发环环境十分类似似,如下图所所示,因为CCarbidde.c+是设计用于于处理symmbian c+应用用程序的,所所以其集成开开发环境的左左边显示的是是c/c+工程视图,这这个视图用于于显示构成一一个典型syymbiann c+工工程源文件、头头文件,资源源文件。关于eclippse平台和和插件的相关关知识,不是是本教程所关关心的重点, 有兴趣的读读者可参考相相关的其他著著述。1.7. 开发环境境的构建Ø 第一一步:安装JJDK5.00Ø 第二二步:安装AActiveePerl(需需要5.6.1以上版本本)Ø 第三三步:安装SSymbiaan sdkkØ 第三三步:安装CCarbidde.c+1.2 版版本。 Caarbidee有不同的版版本。 其中中Expreess版本是是免费安装的的,但不支持持UI设计功功能,也不支支持在手机上上调试的功能能。 注意:这几个文文件需要放在在一个目录下下面。否则,在在编译程序的的过程中,可可能会出现难难以预料的错错误。 1.8. 文件目录录的布局 在动手手写代码之前前,我们有必必要了解工程程的文件组织织结构。如果果您看过SDDK中的例子子工程,或是是用IDE的的工程向导创创建一个UII应用程序,您您就会了解一一个典型的工工程文件结构构布局是怎样样的。 当工程程增长到一定定程度的时候候,好的文件件目录布局将将有助于帮助助跟踪代码的的变更。工程程中包含了各各种不同类型型的文件,包包括源文件和和其他类型的的文件,我们们通常将这些些文件分开来来存放,下面面我们简短地地介绍这些文文件。 资源文文件, 例如如 .bmpp 或 .wwav 文件件, 通常被被单独地存放放在一个目录录下面。 测测试代码也会会和产品代码码分开来存放放。所以,一一个典型的UUI 应用程程序会有如下下这样一些目目录结构和文文件。 文件目录 存放文件类型 data (SS60) 存放资源规格文文件(.rsss) Gfx (S660) 应用程序资源文文件,例如图图片和声音文文件。 Group 该目录存放工程程文件 (例例如 .mmmp 和 bbld.innf) Images (UIQ) 应用程序资源文文件,例如图图片。 Inc 该目录存放头文文件 (tyypicallly .hh, .hrrh 和 .inl) rsrc (UUIQ) 存放资源规格文文件 (.rrss, .ra) src 该目录存放 .CPP 文文件 Test 存放测试代码 在group 目录下面,有有两个重要的的文件,这两两个文件都与与创建Symmbian工工程相关:如果,需要在命命令行编译工工程,必须创创建如下两个个工程文件:· 工程程定义文件 (.mmpp filee),这个文文件对要编译译的工程进行行描述,并定定义要构建的的资源文件。该该文件是环境境无关的,编编译工具用它它来生成针对对各种目标环环境下的maake fiiles文件件。· 组件件描述文件(bld.iinf), 这个文件列列出了一组相相关的工程, 并包含一一些编译指令令. CodeWarrrior 和 Carrbide.c+ 都都能够导入工工程定义文件件,并用它来来在IDE环环境下创建工工程。下面详详细描述这些些文件的格式式。 Ø 组件件(compponentt)描述文件件: bldd.inf Bldd.inf 是一个文本本文件。它的的内容非常繁繁琐,主要包包括工程定义义文件mmpp和其他的任任何编译工具具所需要的文文件。该文件件分为多个节节,其中,mmmp文件列列表在PRJJ_MMPFFILES节节中。即使一一个工程文件件只包含一个个mmp文件件,bld文文件仍然是必必须的。下面面是一个典型型的bld.inf文件件。 / 目标平台台 PRJ_PLAATFORMMS WINSCW GCCE/ 从工程中中输出的文件件 PRJ_EXPPORTS / Nonee/ 工程定义义文件PRJ_MMPPFILESS filebroowseappp.mmpp/ 工程定义义文件(测试试代码用)PRJ_TESSTMMPFFILES .testtFileeBrowsseTestt.mmp 在上面的例子中中, 如PRRJ_PLAATFORMMS 声明所所示,默认情情况下工程被被编译为针对对WINSCCW平台和 GCC-EE平台的执行行代码。 当当您用CoddeWarrrior为模模拟器编译代代码的时候,您您使用的是WWINSCWW 平台, WINSCCW的来由是是,最终的代代码运行于WWindowws, 单线线程模式(iin a SSinglee proccess),并用CoddeWarrrior编译译。 平台的的名称用来标标识最终的可可执行代码所所运行的那个个平台。 所所以, 当上上面的代码被被编译完后,可可执行程序被被放在 eepoc322releeasewwinscww 目录下面面(根据是调调试(debbug)版本本还是释放(rreleasse)版本,被被放在 uudeb 或或 ureel 子目录录下面)。 如果代码是针对对手机硬件的的,需要选用用GCCE平平台。这时,最最终的可执行行代码被放到到epocc32reeleaseegccee目录下面面。Ø 工程程描述文件 (mmp) mmp 文件中中的每个语句句都以一个关关键字开头。下下面是一个典典型的mmpp 文件的例例子。/ fileebrowsseapp.mmpTARGET fiilebroowseappp.exeeTARGETTTYPE exxeUID 0xx1000339CE 00xE800000A6 VENDORIID 0#ifdef _WINNSCW_CAPABILLITY AlllFilees / AAllFilles onn emullator sincee no ssigninng is requiired #elseCAPABILLITY NOONE / NNo cappabiliities on haardwarre - ootherwwise SSIS fiile siigningg is rrequirred#endifSOURCEPPATH .srcSOURCE FiileBroowseApppUi.ccppSOURCE FiileBroowseDoocumennt.cpppSOURCE FiileBroowseAppplicaation.cppSOURCE FiileBroowseBaaseVieew.cpppSOURCE RFFsEngiine.cpppSYSTEMIINCLUDDE eepoc322inclludeUSERINCCLUDE .incSOURCEPPATH .dataaSTART RRESOURRCE fiilebroowseappp.rsssTARGETPPATH rresourrceapppsHEADERENDSTART RRESOURRCE fiilebroowseappp_regg.rssTARGETPPATH pprivatte100003A3FFappssENDSTART RRESOURRCE fiilebroowseappp_locc.rssTARGETPPATH rresourrceapppsLANG SCCHEADERENDSTART BBITMAPP fileebrowsseapp.mbmTARGETPPATH resouurceaappsHEADERSOURCEPPATH .gfxxSOURCE C16 ffolderr.bmpSOURCE C16 ffile.bbmpSOURCE 8 massk.bmppENDLIBRARYY eeuser.lib eefsrv.lib ccone.llib eiikcoree.lib eikcooctl.llib eiikdlg.lib eegul.llib eiikctl.lib aapparcc.libLIBRARYY bafll.libLIBRARYY avkoon.libb CommmonEnggine.llib 下面简单地描述述每个关键字字的作用: TARGET 该关键字指明了了目标文件(eexe或dlll文件)的的名称。 TARGETTTYPE 该关键字指明了了工程所产生生的目标文件件的类型,在在上面的例子子中,我们生生成了一个可可执行文件。在在大多数情况况下,目标文文件的类型为为dll,eexe或是其其他的插件(ppluginn)。 UID 目标(通常指可可以执行的.exe或.dll文件件)具有三个个UID,这这些UID用用来标识组件件,第一个UUID是无须须指定的。因因为它是编译译工具根据目目标的类型自自动分配的。所所以这里所指指定的实际上上是UID22,这个值进进一步指明了了目标的类型型,上面例子子中,值(00x1000039CE)指指明了目标文文件是一个应应用程序,SSymbiaan系统使用用这个值来标标识所有的应应用程序。下下一个指定的的UID 对对每个应用程程序来说都是是唯一的。它它标识了这个个应用程序的的注册资源文文件和该程序序的安装包文文件.pkgg。所以为了了保证这个值值的唯一性, 您必须要要向Symbbian申请请这个UIDD,由他们负负责从数据库库中为您的应应用程序分配配一个UIDD。可到Syymbiann的网站上了了解更多的相相关信息。有有一些UIDD的值是用来来测试的,例例如SDK中中的例子:文文件系统浏览览应用程序(ffilesyystem browsser)所使使用的UIDD为0xE880000AA6, 您也也可以在测试试您的应用程程序的时候使使用这个值,但但注意,不要要在您的最终终产品中使用用它。 SECUREIID 这是个可选的关关键了,上面面的例子中没没有出现。该该关键字为应应用程序定义义了安全标示示符,用来指指明这个程序序可以访问哪哪个私有的目目录。如果该该关键字没有有使用,用UUID3来代代替该关键字字。 VENDORIID 该关键字是在SSymbiaan OS v9.1版版本新增的。用用来指定软件件提供商的IID号。该关关键字不是必必须的,可省省略。 CAPABILLITY 这是 Symbbian OOS 9.11新增加的关关键字。该关关键字指明了了应用程序的的权限(或称称作能力,如如:查看系统统目录)。大大上面的例子子中,应用程程序在模拟器器上和在手机机上被分配了了不同的能力力(capaabilitty)。在模模器上,该程程序被赋予了了AllFiiles 的的权限, 比比在手机上运运行时,能看看到更多的私私有文件系统统的区域。没没有被赋予AAllFilles 能力力的程序不能能看到Syym 目录下下的内容。应应用程序只有有在经过认证证(certtificaate)以后后才能获得AAllFilles的能力力。关于认证证和签名的内内容,我们在在这一章的后后面会讲到。 SOURCEPPATH和SSOURCEE SOURCE关关键字指明了了有哪些源文文件和资源文文件需要编译译,而SOUURCEPAATH关键字字指明了这些些文件的位置置。这个位置置既可以是相相对路径(相相对于mmpp文件),也也可以是绝对对路径。 SYSTEMIINCLUDDE 这个关键字指定定了系统头文文件的位置,系系统头文件通通常用#inncludee<>语句包包含。 USERINCCLUDE 该关键字的作用用类似于SYYSTEMIINCLUDDE,它指明明了在用户自自定义头文件件所在的位置置。 START RRESOURRCEENND START RRESOURRCE 关键键字表明了一一个信息块的的开始,这些些信息指明了了如何编译资资源文件。EEND 标示示该信息块结结束。 TARGETPPATH 该关键字用来指指定被编译后后的资源文件件的位置。注注意: 由于于安全方面的的考虑,所有有的可执行代代码(exee或dll)都都从手机上的的sysbin 目录运行。可可执行代码不不需要用该关关键字指定位位置。TARRGETPAATH 关键键字仅仅用来来指定编译后后的资源文件件的位置。 HEADER 这是一个可选的的关键字,当当它被使用的的时候,系统统将会在eepoc322incllude路路径下创建资资源头文件(.rsg)。这这个头文件包包含了允许以以C+代码码引用特定资资源的标识符符。 LIBRARYY 这个关键字列出出了应用程序序需要链接的的库文件。 STATICLLIBRARRY 该关键字用来指指定需要被静静态链接的库库文件 (库库文件中的代代码会被链接接到您的程序序中,而不是是需要时才装装载到内存)。 START BBITMAPPEND 这一节包含了应应用程序图标标所使用的位位图(bittmap),以以及如何将这这些位图编译译成.mbmm(Symbbian系统统专有的图像像格式)的方方式。 EPOCSTAACKSIZZE 该关键字是可选选的,我们上上面的例子中中并未用到。在在以前的Syymbiann OS 版版本中,缺省省的栈大小为为0X50000字节。在在v9.1版版本中,缺省省值为0x22000。为为了增加栈的的大小,可以以使用该关键键字。例如:EPOCSSTACKSSIZE 00x50000 。要注意意的是, 对对栈设置仅仅仅对真实设备备有效,但对对模拟器无效效。 EPOCHEAAPSIZEE 该关键字也是可可选的,我们们上面的例子子中并未用到到。这个关键键字指定了应应用程序可以以使用的最大大、最小堆空空间。缺省情情况下,4KK为最小的尺尺寸,1M为为最大的尺寸寸。 1.9. 第一个程程序: HeellowWWorld1.9.1. 创建建工程运行Carbiide 集成成开发环境,在在菜单栏上选选择filee->Neww->Symmbian OS C+ prooject,出现如下图图所示的对话话框:我们选择带用户户界面设计器器的图形用户户界面应用程程序(Carrbide Expreess 版本本不支持用户户界面设计的的功能)。然然后点击“下一步”按钮。出现现下面的对话话框:用户选择一个ssdk的版本本(笔者的机机器上安装的的是s60_3rd_FFP1版本的的sdk)。继继续下一步:按下一步,继续续:选择一个空的界界面,这样我我们可以自由由地在上面添添加控件。下下面的步骤一一直按“下一步”,直到完成成。1.9.2. 在模模拟器上运行行和调试 工程建建立完成后,就就可以构建(bbuild)工工程了。在将将程序放到手手机上运行之之前,我们通通常需要先在在模拟器上运运行、调试程程序。模拟器器是SDK附附带的一个软软件,能够模模拟真实手机机的运行情况况。 在工程程透视图中,选选中工程,点点击右键,将将活动构建设设置为 Emmulatoor Debbug(Wiinscw)。如下图所所示:这样,编译出来来的程序版本本才是针对模模拟器的。设设置后,可以以构建(buuild)工工程了:在工工程透视图中中选中工程,点点击右键,选选择“buildd Targget Onnly”(只编译模模拟器版本,节节省时间)。最后,点击工具具栏上的运行行按钮 ,选选择Run As->11 Run Symbiian OSS Appllicatiion Carbidee 启动模拟拟器, 这个个过程需要持持续几十秒到到几分种,依依赖机器的配配置。在模拟拟器启动后,点点击模拟器上上的软件键 ,模拟器会会出现下面的的界面: 选择Instaalled 选项后,可可以看到应用用程序的图标标: 在模拟器上点击击按钮,运行行该程序。1.10. 在手机上运运行和调试1.10.1. 基本本概念 能够在模拟拟器上运行、调调试程序后,您您可能想要在在真实的手机机上运行您的的程序。但在在这之前,先先需要搞清以以下几个基本本概念:Ø GCCCE版本和和ARM版本本: 在真实实设备上运行行的程序版本本不同于我们们在模拟器上上运行的程序序版本,在设设备上运行的的版本必须是是GCCE版版本或ARMM版本。其中中GCCE版版本是用SDDK 自带的的编译器的,使使用它不需要要付费,而AARM版本是是专门针对AARM 平台台的,代码经经过优化,性性能优于GCCCE版本的的程序,但需需要付费。Ø .ssis文件和和.pkg:创建应用程序的的GCCE 版本以后,需需要创建一个个Symbiian 安装装文件(.ssis)。从从本质上来讲讲,.siss文件只是一一个压缩文件件, 它包含含了组成应用用程序所需的的exe,ddll,rsss文件,和和一些手机接接收应用程序序时所必须的的信息(例如如:语言种类类,应用程序序的UID)。现现在的问题是是,我们根据据什么信息来来创建这个ssis文件呢呢?答案在于于pkg文件件, 在创建建这个文件之之前,先需要要创建一个ppkg文件,ppkg文件中中包含了一些些有用的信息息,包括将工工程文件拷贝贝到手机的哪哪个目录下面面,程序的版版本号等。Ø 签名名(signn): 在开发s660 3rdd版本的应用用程序时,所所有的 .ssis 文件件在安装到手手机之前,必必须被签名。如如果您的程序序没有用到ccapabiility或或只用到了对对所有的用户户都开放的功功能(utiility),您您可以使用自自签名认证(SSelf SSignedd certtificaate)。当当在自己的手手机上调试程程序时,这种种方法特别管管用。Ø 机上上调试代理(oon-devvice ddebug agentt): 如果想想要在真实的的手机设备上上调试程序,需需要在手机上上安装机上调调试代理,这这个手机上的的代理程序通通过蓝牙或UUSB串行链链路与调试器器通信,在CCarbidde.c+调试器和目目标机器之间间的起到接口口的作用。调调试代理提供供以下功能: 1. 运行在在Symbiian 系统统上作为调试试代理。2. 为Syymbiann系统提供一一个稳定的集集成的接口3. 能被用用来在真实的的设备上调试试应用程序4. 能烧入入到系统镜像像中,或是被被安装的siis文件。 使用机上调试代代理, 我们们可以使用CCarbidde.c+ 集成开发发环境来调试试运行在手机机硬件上的应应用程序,这这使得调试过过程更为容易易。机上调试试代理可以在在所有的S660 3rdd 版本的设设备上工作。包包括在 UIIQ 2ndd版本 和 UIQ 33rd 版本本的设备上。 1.10.2. 编译译、运行应用用程序的手机机版本在清楚这些基本本的概念后,下下面我们看看看,如何编译译和运行GCCCE版本的的应用程序:1. 编译这个应应用程序的GGCCE版本本.2. 创建Symmbian 安装文件(.sis)。3. 给.siss文件签名。4. 在s60手手机上安装这这个sis文文件。5. 运行该应用用程序。首先,我们按下下面的步骤,在在Carbiide中,编编译GCCEE版本和创建建sis文件件。 1) 从菜单上上选择 Prrojectt > Prropertties 选选项.2) 在属性对对话框上, 点击 C/C+ BBuild。3) 从 Coonfiguuratioon 下拉菜菜单中选择 "S60 3.0 GGCCE UUREL"。4) 点击 OOK。5) 从菜单栏栏上点击 PProjecct > BBuild Projeect 。如下图所示:Carbidee 根据工程程的设置,创创建了一个能能在手机上运运行的版本。如如果编译的过过中没有出错错,可以在目目录Symmbian9.2SS60_3rrd_FP11Epocc32reeleaseegcceeurell中找到已经经编译好的可可执行文件。然然后,可以进进行下一步:生成siss文件。 打开工工程视图,找找到sis文文件夹中的 .pkg 文件,点右右键,在弹出出菜单中选择择:builld PKGG filee。如下图所所示:如果边编译的过过程没有出错错,可以在ssis文件夹夹中找到经过过签名的.ssis文件和和扩展名为.cer的证证书文件和扩扩展名为.kkey的密钥钥文件。这两两个文件是CCarbidde自动生成成的。 将经过过签名的.ssis(或.sisx)文文件通过USSB接口下载载到手机(WWAP, 邮邮件附件, 红外, 蓝蓝牙),然后后用文件管理理器安装,如如果安装的时时候没有错误误提示,我们们就可以在手手机上运行程程序了。1.10.3. 在手手机上调试 在真实的的手机设备上上调试比在模模拟器上调试试更加准确,而而且不必使用用昂贵的硬件件调试设备。前前面我们提到到过,在手机机上调试, 需要安装调调试代理,有有两不同的机机上调试代理理,分别为:Appliicatioon TRKK和Systtem TRRK· Appplicaation TRK仅仅支持应应用程序的调调试。 · Syystem TRK不但支持应应用程序的调调试,还支持持有限的ROOM调试。设设备制作商可可用它来调试试设备驱动程程序。现在,我们来看看看:Ø 如何何在手机上安安装调试代理理软件 打开.Carbbideppluginnscomm.nokiia.Carrbide.trk.ssupporrt_1.22.0.299, trrks600目录,可以以看到有一个个s60_33_1_appp_trkk_2_7.sisx文文件,该文件件就是调试代代理(debbug aggent)的的安装程序,下下面我们通过过USB接口口(或红外、蓝蓝牙)将这个个程序下载到到手机上安装装。步骤如下下:1