微信上浏览自己做的网站,wordpress虚拟买卖模板,网站开发费用周期,网站源码搭建教程第一章#xff1a;Symbian OS简介作者#xff1a;谢兴 enigma19971hotmail.com---转载需注明出处 下载word文档1.1. Symbian系统简介当前有很多手机运行Symbian OS#xff0c;数量甚至超出您的想象。到目前为止已经有超过7500 万、100 多种型号的手机运行Sym…第一章Symbian OS简介作者谢兴 enigma19971hotmail.com---转载需注明出处 下载word文档1.1. Symbian系统简介当前有很多手机运行Symbian OS数量甚至超出您的想象。到目前为止已经有超过7500 万、100 多种型号的手机运行Symbian OS。这些电话大部分都形态迥异有的配有键盘有的采用笔控输入有的配备TFT 彩色屏幕有的则配备黑白LCD 显示屏有的擅长于音乐播放有的专注于电子游戏、图像处理甚至电视功能有的手机面向个人消费者有的专门针对商务用户有的是为单手操作设计的有的是为双手操作设计的——种类繁多不一而足。Symbian OS 手机受到广大消费者的喜爱。仅2005 年就售出3400 万部Symbian OS 手机——这相当于每不到一秒钟就有一部Symbian OS 手机被出售。网络运行商同样青睐Symbian OS 手机。全球有250 多个移动电话网络运行商选择了Symbian OS 手机。所有这些都表明现在市面上有成千上万的手机是基于Symbian OS 的所以为symbian系统开发的应用程序会得到广泛的应用。现在已经有5400 多种商业性应用软件可供Symbian OS 手机应用。本教程旨在为您提供一些编写Symbian OS 应用程序的入门知识。希望它会对您有所裨益为开发Symbian OS 应用程序打下一个良好的基础。1.2. 开发语言从开发初期起Symbian OS 就是专门为移动电话而设计的因此从弹性的电源管理(resilient power-management)到内存资源的谨慎使用全都是为了满足手机操作系统的特定需求。作为Symbian OS 的开发人员您将受益于Symbian OS 这样一个专门为移动设备而创立并随着市场一起发展的开发平台。Symbian OS 最“基本”的编程语言是一种改进的C。Symbian OS C 经过特殊设计与优化以利于降低手机电池能耗和内存使用。比如为了节约电池耗电所有Symbian OS 程序都是基于事件(event-based) 的而当没有任何程序进行事件处理时CPU 就进入休眠。您在开发软件时也可以使用Java、Python、.NET使用Visual Basic 和带AppForge’s Crossfire 的C#、Perl、OPL和Adobe Flash但是Symbian OS C 是最强大它允许最大限度的利用操作系统提供的所有功能也是最快捷因为它直接以编译码运行而无需在运行时进行解译的语言。这也就是为什么我们在本书中选择C 来向您演示如何进行Symbian OS 开发的原因。好了闲言少叙让我们言归正传。1.3. 准备工作首先您需要有一台电脑能创建并测试在Symbian OS 手机上运行的应用程序。这也就是说电脑要有一个较快的CPU 处理器至少1.5GHz和相当大的RAM512MB或更大以及一个大容量硬盘至少有2GB 剩余空间。该电脑必须能运行Windows 2000 或XP 操作系统。然后您需要开发软件来帮助您编写代码并进行编译。这可通过包含编辑程序(editor)、编译程序(compiler) 和链接程序(linker) 的集成开发环境(IDE) 来完成。在这推荐两种适合Symbian OS 程序开发的IDE。对于开发非商业用途的Symbian OS 应用程序Nokia 的Carbide.c Express 版本是最理想不过了它建立在Eclipse IDE 的基础上供免费下载。对于使用Visual Studio.NET 2003 的程序员来说也可选择Carbide.vs。这是一套基于Microsoft Visual Studio .NET2003 IDE 的工具用于开发S60 和Series 80 软件。您还需要软件开发包(SDK) 专门用来编写和创建Symbian OS 应用程序。基于不同手机类型有不同版本的SDK 供选择具体使用哪个SDK 请见以下几页的说明。如果您还没有决定具体的手机类型或平台而无法确定选择哪个SDK我们建议您一开始可使用S60 和UIQ SDK。如果您想为最新款的手机如Nokia 3250、E60、E61、N71、N80、N91、N73 或N93编写应用程序那就选择基于Symbian OS v9 的SDKUIQ 3 或S60 第三版要么您就选择更低版本的SDKUIQ 2.1 或S60 第二版。不同版本的Symbian OS 之间有什么区别主要的分别是在Symbian OS 9.1 版本之前为较低版本的Symbian OS编写的软件往往可在较高版本上运行但9.1 版本与以往的版本截然不同。如要运行在9.1 版的Symbian OS 上应用程序必须稍加修改并进行再次编译。接下来您需要下载您所选择的IDE 和SDK。以下章节将向您介绍如何在互联网上找到这些工具。1.4. S60 平台S60 平台是一个完整的应用程序包package用户接口和构建于Symbian 系统技术的开发工具。S60 用户接口 (UI) 经过精心的设计方便用户使用便于单手操作。从用户的角度看来该平台最大的特点在于它的用户界面大的彩屏和各种输入键(两个软件键, 五方位的导航键和几个专用的键)。 单手操作和大彩屏的优点能使应用程序开发者提供更有吸引力的内容和提供更方便的导航功能同时增加用户使用手机时的愉快体验。目前s60平台上已经存在各种各样的应用软件. 其中最重要的有高级智能电话应用程序个人信息管理应用程序PIM(例如, 电话簿,日历, 相册), 短信, 网页浏览, 电子邮件和应用程序安装引擎它能够让您自由地从电脑上下载软件到您的手机上。 S60 第三版本支持两种不同的外观:Ø QVGA Portrait (240x320)Ø QVGA Landscape (320x240)1.5. 如何选择SDK基于Symbian OS 的手机外型各异用户界面(UI) 也不尽相同。为了给特定的用户界面编写应用程序您必须选择特定的SDK尽管应用程序的引擎往往与用户界面无关。大部分运行Symbian OS 的手机采用的是S60 用户界面并使用键盘操作。S60 已经发布了一系列版本选择正确的S60 SDK 和相应的Symbian OS 十分重要:S60 第三版– Symbian OS v9.1S60 第二版功能包3 – Symbian OS v8.1S60 第二版功能包2 – Symbian OS v8.0aS60 第二版功能包1 – 升级Symbian OS v7.0sS60 第二版– Symbian OS v7.0sS60 第一版– Symbian OS v6.1您可在以下网站查到每一系列S60 SDK 所包含的手机型号列表www.symbian.com/developer/sdks/sdks_series60.asp其它大部分基于Symbian OS 的手机采用笔控输入的UIQ 用户界面。以下网站列出了基于各版本的UIQSDK 的手机机型www.symbian.com/developer/sdks/sdks_uiq.asp您可以到以Nokia的网站下载SDK www.forum.nokia.com1.6.Carbide.c 集成开发环境IDE 前面已经提到了各种集成开发环境这里我们主要介绍Carbide.c的集成开发环境。Carbide.c的集成开发环境(IDE)基于Eclipse集成开发环境版本3。增添了能使Eclipse处理symbian c 源文件和编译Symbian工程的插件。这些插件分为以下几类Ø C/C开发工具箱CDT。这是一个使得Eclipse管理和编译symbian工程的工具集Ø Symbian插件。这些插件由symbian开发使得eclipse能够处理Eclipse C的概念同时提供对Symbian操作系统软件开发工具箱和Symbian工具链的支持。Ø Nokia插件。由Nokia开发提供对Symbian操作系统工具箱的更多支持。插件实现了C编译器symbian系统的调试器并且加入了Carbide.c系列产品的商业版本的高级特性。很明显因为Carbide.c是基本的Eclipse集成开发环境开发者可以进一步定制其它的商业或免费的插件比如说一个版本控制系统一个UML建模系统等。Carbide.c有自己的安装程序所以安装比较简单。在启动这个产品之后用户看到的集成开发环境和Eclipse开发环境十分类似如下图所示因为Carbide.c是设计用于处理symbian c应用程序的所以其集成开发环境的左边显示的是c/c工程视图这个视图用于显示构成一个典型symbian c工程源文件、头文件资源文件。关于eclipse平台和插件的相关知识不是本教程所关心的重点 有兴趣的读者可参考相关的其他著述。1.7. 开发环境的构建Ø 第一步安装JDK5.0Ø 第二步安装ActivePerl需要5.6.1以上版本Ø 第三步安装Symbian sdkØ 第三步安装Carbide.c1.2 版本。 Carbide有不同的版本。 其中Express版本是免费安装的但不支持UI设计功能也不支持在手机上调试的功能。注意这几个文件需要放在一个目录下面。否则在编译程序的过程中可能会出现难以预料的错误。1.8. 文件目录的布局在动手写代码之前我们有必要了解工程的文件组织结构。如果您看过SDK中的例子工程或是用IDE的工程向导创建一个UI应用程序您就会了解一个典型的工程文件结构布局是怎样的。当工程增长到一定程度的时候好的文件目录布局将有助于帮助跟踪代码的变更。工程中包含了各种不同类型的文件包括源文件和其他类型的文件我们通常将这些文件分开来存放下面我们简短地介绍这些文件。资源文件, 例如 .bmp 或 .wav 文件, 通常被单独地存放在一个目录下面。 测试代码也会和产品代码分开来存放。所以一个典型的UI 应用程序会有如下这样一些目录结构和文件。文件目录 存放文件类型 data (S60) 存放资源规格文件(.rss) Gfx (S60) 应用程序资源文件例如图片和声音文件。 Group 该目录存放工程文件 (例如 .mmp 和 bld.inf) Images (UIQ) 应用程序资源文件例如图片。 Inc 该目录存放头文件 (typically .h, .hrh 和 .inl) rsrc (UIQ) 存放资源规格文件 (.rss, .ra) src 该目录存放 .CPP 文件 Test 存放测试代码 在group 目录下面有两个重要的文件,这两个文件都与创建Symbian工程相关如果需要在命令行编译工程必须创建如下两个工程文件· 工程定义文件 (.mmp file)这个文件对要编译的工程进行描述并定义要构建的资源文件。该文件是环境无关的编译工具用它来生成针对各种目标环境下的make files文件。· 组件描述文件(bld.inf), 这个文件列出了一组相关的工程, 并包含一些编译指令. CodeWarrior 和 Carbide.c 都能够导入工程定义文件并用它来在IDE环境下创建工程。下面详细描述这些文件的格式。Ø 组件component描述文件: bld.inf Bld.inf 是一个文本文件。它的内容非常繁琐主要包括工程定义文件mmp和其他的任何编译工具所需要的文件。该文件分为多个节其中mmp文件列表在PRJ_MMPFILES节中。即使一个工程文件只包含一个mmp文件bld文件仍然是必须的。下面是一个典型的bld.inf文件。 // 目标平台 PRJ_PLATFORMS WINSCW GCCE// 从工程中输出的文件 PRJ_EXPORTS // None// 工程定义文件PRJ_MMPFILES filebrowseapp.mmp// 工程定义文件测试代码用PRJ_TESTMMPFILES ../test/FileBrowseTest.mmp 在上面的例子中, 如PRJ_PLATFORMS 声明所示默认情况下工程被编译为针对WINSCW平台和 GCC-E平台的执行代码。 当您用CodeWarrior为模拟器编译代码的时候您使用的是WINSCW 平台, WINSCW的来由是最终的代码运行于Windows, 单线程模式in a Single process,并用CodeWarrior编译。 平台的名称用来标识最终的可执行代码所运行的那个平台。 所以 当上面的代码被编译完后可执行程序被放在 /epoc32/release/winscw 目录下面(根据是调试debug版本还是释放release版本被放在 /udeb 或 /urel 子目录下面)。 如果代码是针对手机硬件的需要选用GCCE平台。这时最终的可执行代码被放到/epoc32/release/gcce/目录下面。Ø 工程描述文件 (mmp) mmp 文件中的每个语句都以一个关键字开头。下面是一个典型的mmp 文件的例子。// filebrowseapp.mmpTARGET filebrowseapp.exeTARGETTYPE exeUID 0x100039CE 0xE80000A6 VENDORID 0#ifdef __WINSCW__CAPABILITY AllFiles // AllFiles on emulator since no signing is required #elseCAPABILITY NONE // No capabilities on hardware - otherwise SIS file signing is required#endifSOURCEPATH ../srcSOURCE FileBrowseAppUi.cppSOURCE FileBrowseDocument.cppSOURCE FileBrowseApplication.cppSOURCE FileBrowseBaseView.cppSOURCE RFsEngine.cppSYSTEMINCLUDE /epoc32/includeUSERINCLUDE ../incSOURCEPATH ../dataSTART RESOURCE filebrowseapp.rssTARGETPATH /resource/appsHEADERENDSTART RESOURCE filebrowseapp_reg.rssTARGETPATH /private/10003A3F/appsENDSTART RESOURCE filebrowseapp_loc.rssTARGETPATH /resource/appsLANG SCHEADERENDSTART BITMAP filebrowseapp.mbmTARGETPATH /resource/appsHEADERSOURCEPATH ../gfxSOURCE C16 folder.bmpSOURCE C16 file.bmpSOURCE 8 mask.bmpENDLIBRARY euser.lib efsrv.lib cone.lib eikcore.lib eikcoctl.lib eikdlg.lib egul.lib eikctl.lib apparc.libLIBRARY bafl.libLIBRARY avkon.lib CommonEngine.lib 下面简单地描述每个关键字的作用TARGET 该关键字指明了目标文件exe或dll文件的名称。 TARGETTYPE 该关键字指明了工程所产生的目标文件的类型在上面的例子中我们生成了一个可执行文件。在大多数情况下目标文件的类型为dll,exe或是其他的插件plugin。 UID 目标通常指可以执行的.exe或.dll文件具有三个UID这些UID用来标识组件第一个UID是无须指定的。因为它是编译工具根据目标的类型自动分配的。所以这里所指定的实际上是UID2这个值进一步指明了目标的类型上面例子中值0x100039CE指明了目标文件是一个应用程序Symbian系统使用这个值来标识所有的应用程序。下一个指定的UID 对每个应用程序来说都是唯一的。它标识了这个应用程序的注册资源文件和该程序的安装包文件.pkg。所以为了保证这个值的唯一性, 您必须要向Symbian申请这个UID由他们负责从数据库中为您的应用程序分配一个UID。可到Symbian的网站上了解更多的相关信息。有一些UID的值是用来测试的例如SDK中的例子文件系统浏览应用程序filesystem browser所使用的UID为0xE80000A6, 您也可以在测试您的应用程序的时候使用这个值但注意不要在您的最终产品中使用它。 SECUREID 这是个可选的关键了上面的例子中没有出现。该关键字为应用程序定义了安全标示符用来指明这个程序可以访问哪个私有的目录。如果该关键字没有使用用UID3来代替该关键字。 VENDORID 该关键字是在Symbian OS v9.1版本新增的。用来指定软件提供商的ID号。该关键字不是必须的可省略。 CAPABILITY 这是 Symbian OS 9.1新增加的关键字。该关键字指明了应用程序的权限或称作能力如查看系统目录。大上面的例子中,应用程序在模拟器上和在手机上被分配了不同的能力capability。在模器上该程序被赋予了AllFiles 的权限, 比在手机上运行时能看到更多的私有文件系统的区域。没有被赋予AllFiles 能力的程序不能看到/Sym 目录下的内容。应用程序只有在经过认证certificate以后才能获得AllFiles的能力。关于认证和签名的内容我们在这一章的后面会讲到。 SOURCEPATH和SOURCE SOURCE关键字指明了有哪些源文件和资源文件需要编译而SOURCEPATH关键字指明了这些文件的位置。这个位置既可以是相对路径相对于mmp文件也可以是绝对路径。 SYSTEMINCLUDE 这个关键字指定了系统头文件的位置系统头文件通常用#include语句包含。 USERINCLUDE 该关键字的作用类似于SYSTEMINCLUDE它指明了在用户自定义头文件所在的位置。 START RESOURCE…END START RESOURCE 关键字表明了一个信息块的开始这些信息指明了如何编译资源文件。END 标示该信息块结束。 TARGETPATH 该关键字用来指定被编译后的资源文件的位置。注意: 由于安全方面的考虑所有的可执行代码exe或dll都从手机上的/sys/bin/ 目录运行。可执行代码不需要用该关键字指定位置。TARGETPATH 关键字仅仅用来指定编译后的资源文件的位置。 HEADER 这是一个可选的关键字当它被使用的时候系统将会在/epoc32/include/路径下创建资源头文件.rsg。这个头文件包含了允许以C代码引用特定资源的标识符。 LIBRARY 这个关键字列出了应用程序需要链接的库文件。 STATICLIBRARY 该关键字用来指定需要被静态链接的库文件 (库文件中的代码会被链接到您的程序中而不是需要时才装载到内存)。 START BITMAP…END 这一节包含了应用程序图标所使用的位图bitmap以及如何将这些位图编译成.mbmSymbian系统专有的图像格式的方式。 EPOCSTACKSIZE 该关键字是可选的我们上面的例子中并未用到。在以前的Symbian OS 版本中缺省的栈大小为0X5000字节。在v9.1版本中缺省值为0x2000。为了增加栈的大小可以使用该关键字。例如EPOCSTACKSIZE 0x5000 。要注意的是, 对栈设置仅仅对真实设备有效但对模拟器无效。 EPOCHEAPSIZE 该关键字也是可选的我们上面的例子中并未用到。这个关键字指定了应用程序可以使用的最大、最小堆空间。缺省情况下4K为最小的尺寸1M为最大的尺寸。 1.9. 第一个程序 HellowWorld1.9.1. 创建工程运行Carbide 集成开发环境在菜单栏上选择file-New-Symbian OS C project,出现如下图所示的对话框我们选择带用户界面设计器的图形用户界面应用程序Carbide Express 版本不支持用户界面设计的功能。然后点击“下一步”按钮。出现下面的对话框用户选择一个sdk的版本笔者的机器上安装的是s60_3rd_FP1版本的sdk。继续下一步按下一步继续选择一个空的界面这样我们可以自由地在上面添加控件。下面的步骤一直按“下一步”直到完成。1.9.2. 在模拟器上运行和调试工程建立完成后就可以构建build工程了。在将程序放到手机上运行之前我们通常需要先在模拟器上运行、调试程序。模拟器是SDK附带的一个软件能够模拟真实手机的运行情况。在工程透视图中选中工程点击右键将活动构建设置为Emulator Debug(Winscw)。如下图所示这样编译出来的程序版本才是针对模拟器的。设置后可以构建build工程了在工程透视图中选中工程点击右键选择“build Target Only”只编译模拟器版本节省时间。最后点击工具栏上的运行按钮选择Run As-1 Run Symbian OS ApplicationCarbide 启动模拟器 这个过程需要持续几十秒到几分种依赖机器的配置。在模拟器启动后点击模拟器上的软件键模拟器会出现下面的界面选择Installed 选项后可以看到应用程序的图标:在模拟器上点击按钮运行该程序。1.10. 在手机上运行和调试1.10.1. 基本概念能够在模拟器上运行、调试程序后您可能想要在真实的手机上运行您的程序。但在这之前先需要搞清以下几个基本概念Ø GCCE版本和ARM版本在真实设备上运行的程序版本不同于我们在模拟器上运行的程序版本在设备上运行的版本必须是GCCE版本或ARM版本。其中GCCE版本是用SDK 自带的编译器的使用它不需要付费而ARM版本是专门针对ARM 平台的代码经过优化性能优于GCCE版本的程序但需要付费。Ø .sis文件和.pkg创建应用程序的GCCE 版本以后需要创建一个Symbian 安装文件.sis。从本质上来讲.sis文件只是一个压缩文件 它包含了组成应用程序所需的exedllrss文件和一些手机接收应用程序时所必须的信息例如语言种类应用程序的UID。现在的问题是我们根据什么信息来创建这个sis文件呢答案在于pkg文件 在创建这个文件之前先需要创建一个pkg文件pkg文件中包含了一些有用的信息包括将工程文件拷贝到手机的哪个目录下面程序的版本号等。Ø 签名(sign)在开发s60 3rd版本的应用程序时所有的 .sis 文件在安装到手机之前必须被签名。如果您的程序没有用到capability或只用到了对所有的用户都开放的功能utility您可以使用自签名认证Self Signed certificate。当在自己的手机上调试程序时这种方法特别管用。Ø 机上调试代理on-device debug agent如果想要在真实的手机设备上调试程序需要在手机上安装机上调试代理这个手机上的代理程序通过蓝牙或USB串行链路与调试器通信在Carbide.c调试器和目标机器之间的起到接口的作用。调试代理提供以下功能 1. 运行在Symbian 系统上作为调试代理。2. 为Symbian系统提供一个稳定的集成的接口3. 能被用来在真实的设备上调试应用程序4. 能烧入到系统镜像中或是被安装的sis文件。 使用机上调试代理, 我们可以使用Carbide.c 集成开发环境来调试运行在手机硬件上的应用程序,这使得调试过程更为容易。机上调试代理可以在所有的S60 3rd 版本的设备上工作。包括在 UIQ 2nd版本 和 UIQ 3rd 版本的设备上。 1.10.2. 编译、运行应用程序的手机版本在清楚这些基本的概念后下面我们看看如何编译和运行GCCE版本的应用程序1. 编译这个应用程序的GCCE版本.2. 创建Symbian 安装文件(.sis)。3. 给.sis文件签名。4. 在s60手机上安装这个sis文件。5. 运行该应用程序。首先我们按下面的步骤在Carbide中编译GCCE版本和创建sis文件。 1) 从菜单上选择 Project Properties 选项.2) 在属性对话框上, 点击 C/C Build。3) 从 Configuration 下拉菜单中选择 S60 3.0 GCCE UREL。4) 点击 OK。5) 从菜单栏上点击 Project Build Project 。如下图所示Carbide 根据工程的设置创建了一个能在手机上运行的版本。如果编译的过中没有出错可以在目录/Symbian/9.2/S60_3rd_FP1/Epoc32/release/gcce/urel中找到已经编译好的可执行文件。然后可以进行下一步生成sis文件。打开工程视图找到sis文件夹中的 .pkg 文件点右键,在弹出菜单中选择:build PKG file。如下图所示如果边编译的过程没有出错可以在sis文件夹中找到经过签名的.sis文件和扩展名为.cer的证书文件和扩展名为.key的密钥文件。这两个文件是Carbide自动生成的。将经过签名的.sis或.sisx文件通过USB接口下载到手机WAP, 邮件附件, 红外, 蓝牙然后用文件管理器安装如果安装的时候没有错误提示我们就可以在手机上运行程序了。1.10.3. 在手机上调试在真实的手机设备上调试比在模拟器上调试更加准确而且不必使用昂贵的硬件调试设备。前面我们提到过在手机上调试 需要安装调试代理有两不同的机上调试代理分别为Application TRK和System TRK· Application TRK—仅仅支持应用程序的调试。 · System TRK—不但支持应用程序的调试还支持有限的ROM调试。设备制作商可用它来调试设备驱动程序。现在我们来看看Ø 如何在手机上安装调试代理软件打开..Carbide/plugins/com.nokia.Carbide.trk.support_1.2.0.29/trk/s60目录可以看到有一个s60_3_1_app_trk_2_7.sisx文件该文件就是调试代理debug agent的安装程序下面我们通过USB接口或红外、蓝牙将这个程序下载到手机上安装。步骤如下1. 将电脑和手机设备通过USB接口连接。在手机识别出USB连接线后设置手机让它从PC上接收文件。1) 选择 USB Mode File Transfer, 然后按OK键这时有通知消息出现手机将处于离线状态。2) 按OK 软件键确认该消息。2. 将SISX 文件拷贝到MMC 卡。 3. 用“安全删除硬件”的方式断开手机和PC 之间的USB连接。4. 在手机上用文件管理器安装SISX文件。Ø 在安装好调试软件后现在就可以开始调试程序了。PC和手机的通信接口有两种蓝牙和USB由于大多数的PC机中只有USB接口下面我们就以USB连接方式来调试程序。1.安装最新的USB连接软件例如S60设备使用的Nokia PC 套件。2.用USB线连接Pc 和手机。3.目标设备被连击后在S60设备上选择PC套件作为USB连接模式。4.下载APP TRK 或 System TRK SISX 文件到手机上。如果在已经下载安装过该调试代理这一步可省略5.在PC 上打开设备管理找到S60 手机USB的条目如下图所示记下端口号在我们的例子中为COM5后面我们要用到。 在手机的USB模式列表上选择PC套件模式。然后在手机上启动App TRK将连接方式设置为USB如下图所示选择“back”,然后重新启动App TRK。在Carbide集成开发环境上IDE选择工具栏上的 调试按钮选择“debug”如下图这时会启动一个“调试面板”我们选择第一项“Symbian OS App TRK”双击此项将会生成一个启动配置项launch Configuration在这个面板的右边有一些关于调试的选项如下图所示安装要求填写这些配置项 这一步比较容易有两点要注意的是Connection 面板中Serial port选择的值这里为com5必须是我们前面在设备管理器中所记录下来的值。另外在Installation面板中需要指明要安装的文件这个文件就是我们在前面生成的经过签名的sis文件如下图1.11. 用命令行方式编译、运行GCCE释放版本下面我们以SDK自带的helloworldbasic工程为例子演示如何用命令行的方式来编译和运行GCCE版本的程序。Ø 第一步创建GCCE释放版本1. 打开一个命令行窗口。2. 用cd group 进入工程的group 目录。3. 输入下面的命令: bldmake bldfiles。4. 再输入:abld build gcce urel 或 abld gcce udeb (该命令产生手机上的调试版本)。上面的编译脚本创建了一个GCCE版本的应用程序在下面的目录可找到该文件: Epoc32/release/gcce/urel/Ø 第二步创建sis文件我们通过使用makesis工具来编译.pkg文件得到.sis文件在我们的例子中该pkg文件位于例子中的 /sis目录下。1. 打开命令行窗口并进入到HelloWorldBasic.pkg 文件所在的路径S60_SDK_installation_directory/Symbian/9.2/S60_3rd_FP1/S60ex/helloworldbasic/sis2. 输入 makesis helloworldbasic.pkg 命令3. 我们可以看到在该文件夹下生成了一个helloworldbasic.SIS 文件。Ø 第三步用signsis工具为sis文件签名在进行签名之前我们需要两个文件私钥文件和自签名证书self signed certificate文件。这涉及到密码学的知识读者可自己参考相关著作。这里我们用只是makekeys工具生成这两个文件。makekeys工具在下面的目录可找到。SDK_installation_directory/Symbian/9.2/S60_3rd_FP1/Epoc32。1. 为了产生私钥文件和自签名认证在命令行下敲入以下命令运行完该命令后可能要花几分钟的时间可以看到在该目录下产生了两个新的文件mykey.key和mycert.cer。2. 给sis文件签名在命令行下敲入以下命令Ø 第四步在手机上安装sis文件。这一步比较简单 仅仅将准备好的sis文件下载到您的手机。这个过程可以通过不同的数据通道完成(WAP, 邮件附件, 红外, 蓝牙, USB接口), 采用何种方式取决于您的手机。1.12. 导入工程如果symbian c的开发者在自己的计算机上已经有了各种各样的symbian工程并且用codewarrior或者命令行工具链编译过该工程他们会发现可以很方便地移植这些工程到Carbide.c不需要创建一个新的工程和手工插入这些源文件。Eclipse实现了从集成开发环境导入和导出信息的框架并通过向导来实现这个过程。Carbide.c也实现了这种工具。从菜单栏选择File-import菜单项用户就启动了一个有很多选项的导入面板。如下图所示例如如果我们想导入sdk中自带的filebrowser的例子工程我们在导入面板中选择Symbian OS Bld.inf file选项然后点击下一步这时会启动“文件导入向导”对话框在对话框中输入filebrowser工程中的bld.inf文件通常这个文件在group目录中。然后一直点击“下一步”按钮直到这个过程结束。如果工程被成功导入在左边的工程视图中会出现该工程的信息。