Symbian操作系统开发包

夹谷星剑
2023-12-01
Symbian 操作系统开发环境,包括从生产手机的设备制造商使用的专用工具包( CustKit )到第三方应用开发商使用的制造商 SDK 。本文就是为了明确每一个开发工具包最适合的主要开发领域,主要讨论 Symbian 操作系统的开发工具包( DevKit )和二进制存取工具包( BAK )。本文还说明了不需要使用 DevKit/BAK 工具包就可以进行开发的领域,同时列举了一些即使拥有 DevKit 开发包也无法完成的功能。

       本文的预期读者是Symbian合作伙伴的经理,手持设备开发商手机项目开发的合作伙伴,想通过加强对源代码/调试方法等手段加快开发速度的合作伙伴,或者是任何在公开的SDK中找不到自己需要的API的开发人员。(译者注:我们就属于这一类人员)

       特别说明的是没有一篇文档能够涵盖关于人们对于Symbian开发产品的问题,也无法紧密地跟踪Symbian操作系统的进展。本文试图回答一些常见的问题。如果你需要更深入了解其中的细节,请联系你的Smbian合作伙伴经理。

1  简介

1.1 不承诺

       请注意,Symbian已经非常尽力的去准备这篇文档,这篇文档只是起到一个指导作用,Symbian不承诺也不保证文档中所包含信息的适用性和准确性。你要自己单独面对因为使用和依靠这篇文档带来的风险,不管你使用或者依赖这篇文档的程度有多深,Symbian和他的任何会员组织都不会为你或者第三方带来的风险或者损失负责。

1.2 Symbian操作系统开发工具包有哪些?

       Symbian创建了4款开发环境:

Ø       Symbian OS Customization KitCustKit

Ø       Symbian OS Development KitDevKit

Ø       Symbian OS Binary KitBAK

Ø       Symbian OS Technology Preview SDKTPSDK

       其中,CustKit授权给手持设备制造商用于生产移动电话。它包含了Symbian拥有的所有的工具和源代码(它可能省略了一些三方源代码,对于这些源代码,授权者没有合法权限访问)这个工具包不被授权给合作伙伴,因此本文不会对此工具包进行深入的探讨。(译者注:所以我们就不要寄希望于CustKit了)

       DevKit的主要目的是让合作伙伴使用该工具包为CustKit授权者的“Phone Delivery Projects”开发组件。它或许对企业消费者,网络操作员,长周期应用的开发人员也同样有用。DevKitCustKit工具包的一个大的子集构成,只是省略了一些仅仅被手持设备制造商来使用的工具,一些受限的Symbian操作系统的源代码和第三方的源代码。(译者注:DevKit就是我们所需要的开发包)

       BAK的目标使用人群是长周期应用的开发人员,企业消费者和网络操作员。BAK包括了与DevKit相同的工具和对伙伴API函数的访问权限(除了一些加解密的API函数)BAK不包括任何Symbian操作系统核心的源代码,所以对BAK的授权的严格程度要比DevKit低很多。BAK包含了与将要在SDK中提供的相同的示例源码。(译者注:BAK没有操作系统源代码,对我们来说这是最致命的,所以只有DevKit最适合我们)

       TPSDK提供对公开发布的API函数的初级访问。当一款手机和它的相关的SDK发布时,这些SDKAPI函数才可能被获得,TPSDK就比较适合对这些API函数的初级访问。

       除了由Symbian开发的工具包,还有一定数量的开发工具包和SDK。为了实现特定的UI或者设备,可以从制造商那里取得它们的授权。这些开发包可能是建构在Symbian操作系统DevKit工具包之上,能够提供新的UI,源代码和头文件(例如,UIQ DevKit)。作为单独的产品,这些开发包不提供对Symbian合作伙伴的API或者源代码的访问权限。

       授权SDK是最低水平的开发环境,主要是一款手机或者平台面市以后,为开发人员开发GUI应用而设计。这些开发包只包含Symbian和手持设备制造商公开的API

       DevKitBAK将在下面的章节中具体介绍。

1.3 什么是Symbian操作系统开发包?

       DevKit是为了使其他公司能够为Symbian操作系统开发硬件或者软件技术产品。那些对Symbian操作系统开发技术有初步和深度了解的公司来说,DevKit非常合适,包括:

Ø       Symbian或者Symbian操作系统的授权者的提供商。

Ø       Symbian操作系统设备创新团体中的独立的公司。

Ø       为使Symbian手机设计多样化开发应用的ISV

Ø       网络操作员和企业消费者。

       DevKit包含:

Ø       几乎所有的Symbian操作系统源代码和工具(具体看1.5

Ø       除了公开的API,还有合作伙伴的API

Ø       Techview UI and Source

Ø       工程文档

Ø       最新修订的Symbian开发库

Ø       工具,包括ROM构建和测试工具

       DevKit允许其他公司开发完全原创的软件产品,或者使用工具中包含的源代码开发派生的软件产品,像Symbian操作系统端口和驱动程序。(译者注:我们就必须开发相关的驱动程序)

       Symbian操作系统版本公开发布之前,无论是完全原创的还是派生的产品可能都要移交给SymbianSymbian操作系统[CustKit]的授权者。公开发布以后,完全自主的软件产品可以交给任何人,派生的产品可能要以二进制的形式交给其他的DevKit的合作伙伴。

       DevKit可以作为订阅产品提供给Symbian白金合作伙伴计划成员。(译者注:了解这个计划到底是什么?)

       在一个Symbian操作系统版本的开发期间,DevKit一般会两周发布一次。在维护阶段,DevKit的移交一般没有规律。移交机制和时间由Symbian单方决定。

1.4 BAK是什么?

       Symbian操作系统二进制访问工具包(BAK)是提供给需要访问Symbian合作伙伴的API或者对Symbian操作系统有较初级访问需求的伙伴开发所用,他们的开发并不需要Symbian操作系统的核心源代码支持。因为Symbian操作系统核心源代码被去掉,对于Symbian的风险也被消除,因此BAK的授权严格程度要比DevKit轻许多。

       BAK很适合那些对Symbian操作系统开发技术有初步的需求的公司,包括:

Ø       为使Symbian手机设计多样化开发应用的ISV

Ø       网络操作员和企业消费者

Ø       Symbian操作系统设备创造团体中的独立的公司

       作为Symbian或者Symbian CustKit授权者的供应商的公司通常需要DevKit而不是BAK,因为他们要获得对Symbian参考代码和示例的访问权。

       BAK包含:

Ø       除了公开的API,还有伙伴的API

Ø       二进制的TechView UI

Ø       最新修订的Symbian开发人员库

Ø       工具,包括ROM构建和测试工具。

       作为Symbian白金合作伙伴计划收益的一部分,BAK不需要支付额外的费用。对于每一个操作系统版本,Symbian至少会做两个BAKbuild,发布更多的版本日程由Symbian控制。

1.5 DevKit不提供什么?

       DevKit包括了几乎所有的Symbian操作系统的源代码,头文件和工具。DevKit中不包含的部分可以分为以下几类:

      受限源代码

       所有的Symbian操作系统源代码都在目录一级通过使用名称为“distribution.policy”的文件进行IPR分类。(分类定义的细节在Platinum Partner Extranet FAQ 940What do the IPR classifications mean?”)

       DevKit中不提供的源代码包括分类为类型A的“受限代码”,类型B的“第三方受限代码”(Symbian从第三方获得授权),类型C的“不在Symbian操作系统代码中”(它在Symbian的编码中,但不是Symbian提供的部分)

       源文件分类包括部分的EUSER(进行内存分配),文件服务器,IP4/IP6混杂的TCP/IP栈,IP Hook框架,WAP栈,部分与EMS有关系的SMS栈,QoSSD卡驱动代码,SUN Java代码(例如,KVM实现)。除非你正在开发病毒扫描软件,SD卡驱动或者新的Java引擎实现,否则你不会受到上面限制的影响。甚至如果你正在开发此类组件,大多数情况下,可以通过和Symbian或者代码的原创者签订附加协议的方法解决上述问题。联系你的Symbian伙伴经理了解更多的细节。(译者注:这个对我们如何取得相关的资源提供了建设性的意见)

       Symbian操作系统加解密组件的源文件不在DevKit中提供。但是,DevKit提供了相关的文档、头文件和二进制文件。注意:DevKit是访问这些API函数的唯一方法,在BAK或者授权SDK中都无法访问。

       一些以二进制形式提供给Symbian的组件,像Symbian OS V7.0中的Opera引擎,mRouter连接管理器等。对这些组件的使用不受影响,但是但你用这些组件进行开发工作时,你无法进行调试。

       BAK不包含用于构建在真机上运行的二进制文件的Symbian操作系统的源代码。但它包含了SDK示例源代码。、

       头文件

       DevKit包含所有公开的头文件(它们在设备制造商的SDK中提供),也包含了附加的“合作伙伴发布的”API(这些API只能通过DevKitBAK获得)。唯一不提供的头文件是非公开的用于IPR受限组件的头文件。

       BAK包含和DevKit相同的头文件,除了加解密的头文件和二进制文件,上面有描述。

       工具

       DevKit去除了一小部分由CustKit提供的工具。Primarily this is because they perform functions that are only of relevance to handset or SDK creation

       需要注意DevKit包含了所有Symbian维护的工具;其中一些可能在BAK和特定的公开SDK中得不到。

      开发板

       DevKitBAK有能力为与每一个Symbian操作系统版本关联的参考硬件平台购建ROM

       参考板必须能够直接从制造商那里得到;这些不是工具包的一部分。

 类似资料: