From Forum
Nokia Wiki
(Redirected
from
SymbianOS编程入门)
English version of this
article here How do I start
programming for Symbian OS?
译者注:本文翻译自Forum Nokia wiki中的最热条目How do I start
programming for Symbian OS?。
1: 你是否有一部Symbian手机来测试你开发的程序?
- 如果没有……没关系,你可以跳转到第三步,然后选择一个开发包(SDK),比如最新的一个。请留意,越新的SDK,会拥有越新越高级的功
能,能给你带来更多的方便;而相关的文档和信息,也会是在新版本的SDK中被完善,可以给你带来解决问题的更好途径。
2: 阅读诺基亚论坛的手机技术规范页面。 设备规范
-
- 如果文档所述某个型号的手机为"Developer Platform: S60 3rd
Edition"(S60第三版) ,那么意味着我们需要使用这个SDK:S60 3rd SDK MR (一个S60 3rd SDK的升级维护版)。
- 如果文档所述某个型号的手机为"Developer Platform: S60 3rd Edition, Feature
Pack 1" ,那么意味着我们需要使用这个SDK:S60 3rd SDK FP1.
- 如果你有两部手机,一部是"S60 3rd Edition"而另外一部是"S60 3rd Edition, Feature
Pack 1",那么我们建议你使用这个SDK:S60 3rd SDK
MR,因为这个SDK编译的程序可以同时运行在两部手机,而使用高级版本的SDK编译的程序将有可能不能运行在低版本的手机上。(更多参见兼容性文档
--> backward compatibility).
- 如果你的两部手机中其一为"S60 2nd Edition, Feature Pack X"而另一部为"S60 3rd
Edition, Feature Pack
X",那样的话,你需要准备一个大一点的磁盘分区,因为你无法安装一个版本的SDK就编译出来两部手机都能运行得程序。
在第二版到第三版的演进过程中,出现了二进制运行文件和源代码的不兼容的情况。
- 关于S60平台的更多细节,目前版本号和不同版本之间的差别,请参阅这里
3: 打开SDK的下载页面
- ...别着急,第一步不是下载SDK!
- 请转到发布说明("Release
notes")部分,下载并仔细阅读你所选择的SDK所对应的发布说明,检查再三。请注意某个SDK的工具可能会有多个发布版本,每一个版本的差别和具体
细节都在发布说明中进行了详细阐述,请在下载和作决定之前仔细阅读。
- 从“发布说明”文档,你会了解到:
-
- 你需要安装哪些第三方工具软件,比如ActivePerl以及Java运行库环境/JRE(Java Runtime
Environment) (JRE)。
- 该SDK支持哪些编译器(某些是自由软件,某些是需要许可证的)
- 该SDK支持哪些开发工具(IDE)(某些是自由软件,某些是需要许可证的)
- 已知问题(比如:安装问题以及已知的bug或限制)
- 当你了解到了你需要下载/使用哪一个SDK,这个时候你就可以打开你的Flashget了,别用讯雷...
4: 下载SDK,工具,和开发环境。
- 安装开发工具包(请先安装基础工具(pre-requisites),然后是集成开发工具(IDE)最后才是SDK(们))。如果可能的
话,请把工具安装在他们各自的默认路径,除非你自信你能够解决安装在自定义路径的时候有可能出现的某些配置方面的小调整。
- 请确保每一个基础工具都可以正常工作(比如,可以在命令行模式下,输入命令附带上参数"-version"进行检测)。下面是你所要运行
SDK的时候所需要的最低版本的基础工具:
C:\>perl -version
This is perl, v5.8.7 built for MSWin32-x86-multi-thread
(with 7 registered patches, see perl -V for more detail)
Copyright 1987-2005, Larry Wall
Binary build 813 [148120] provided by ActiveState http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Jun 6 2005 13:36:37
... snip ...
C:\>java -version
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode, sharing)
C:\>mwccsym2.exe -version
Nokia Codewarrior C/C++ Compiler for Windows/x86.
Copyright (c) 2005, Nokia Corporation
All rights reserved.
Version 3.2.3 build 446 (Build 446)
Runtime Built: Aug 15 2005 08:07:54
C:\>arm-none-symbianelf-gcc.exe -v
Reading specs from ... snip ...
Configured with: ... snip ...
Thread model: single
gcc version 3.4.3 (release) (CodeSourcery ARM Q1C 2005)
C:\>armcc
ARM/Thumb C/C++ Compiler, RVCT2.2 [Build 503]
Usage: armcc [options] file1 file2 ... filen
Main options: ... snip ...
5: 请仔细阅读SDK文档(SDK
documentation)直到你弄清了下面的几个问题:
-
- Symbian OS是什么,和你以前做其他开发时候基于的别的操作系统有何不同
- 为移动设备开发程序意味着什么(限制和机遇)
- 操作系统的结构,主要组建的架构图
- 编码规范
- 系统错误/panics/leaves以及如何处理以及记录(log)他们
- SDK模拟器和真实收集的差别
- 编译系统和编译工具,最重要的就是理解"devices"工具
(译者注:在我于2004年初写的Symbian/S60新手入门的五条金科玉律--S60开发教程汇编此处察看全文
--时候同样提到了这样一条问题,请记住,SDK Documentation就是我们开发者的圣经!!!)
6: 第六步了?别着急,还早呢,回去再去检查检查第五步!!!
7: 从Windows'开始菜单打开SDK模拟器
- 现在可以玩儿玩儿了,学习模拟器上有何应用程序,如何切换彼此,在选项中隐藏了什么。几乎所有的事情都会在Documentation
Help中找到。
8: 进行到这一步,你就可以准备编译一下你自己的应用程序了:
- 请打开Windows命令行解释器Cmd.exe(WIN+R,然后输入cmd,回车)。切换到这个目录%EPOCROOT%S60Ex
(SDK的Series60Ex目录).
- 如果你不知道EPOCROOT是什么,那么请返回第五步.
- 清进入某一个子目录,该目录中的每一个子目录都是一个范例程序(比如某一个HelloWorld*)。一旦你进入了某一个目录,你可以
再深一步进入他的group子目录。
- 在命令提示符下,输入如下命令:
…\group> bldmake bldfiles
…\group> abld makefile all
…\group> abld resource
…\group> abld build winscw udeb
…\group> epoc
- 自不待言,如果你再输入上述命令的时候,上述命令在执行的时候,看到了任何错误信息,你必须停下来,检查错误上的描述是什么(肯定是英文
-_-,译者暂时无法枚举错误可能)。如果有可能请再检查SDK
Help,并找到是否有什么操作可以帮助解决错误出现的起因。如果你确认错误不会影响你的编译结果,你可以忽略它。如果所有命令都执行无误,那么最后一个
命令就是打开模拟器,你可以在模拟器上运行你的程序了。总之,进行到最后,我们的程序总算编译完成。
…\group> abld build gcce urel
…\group> makesis ..\sis\helloworld.pkg
- 最后的两个命令,会编译出运行在真机设备上的程序,如果还有疑问,请转到第五步并找出你所下载的SDK所支持的真机编译版本,随后你就可
以用最后一个命令生成手机所可以识别的SIS安装文件了。对于S60第三版的手机,你可能还要对你的SIS文件进行签名。随后即可在你的手机上运行你的程
序了。
9: 想现在开始开发了? 鸡蛋画好了么…… :)
- 首先,请确信,你已经完全理解了hello
world程序,或者其他任何一个范例程序。在文件浏览器中打开范例程序的目录,分析它的结构和内容,在进行任何深度探究之前,请确保你理解了例子中的每
一个文件中的每一行代码都是干什么的,为什么这么做。达芬奇还要画鸡蛋,请记住!
10: 从现在开始,你就需要下山去独自闯天下了...
... 尽管如此,Symbian开发者社区仍然会在你身边,乐意提供任何力所能及的帮助组。
- 如果你在阅读文档中,发现了问题,或者需要读到更多的文档,请访问 www.forum.nokia.com|诺基
亚论坛 或者 www.symbian.com|Symbian官方网
站
- 在发出提问之前,请……读啊…读啊…使劲读,不要漏掉下面的内容……
这里的帖子 还有这里的
技术文档库.
- 在论坛中发问,请使用聪明的方法。