symbian pkg文件详解

深红粗体字为注释。注:标识了(非必要)的区段在未设置信息时可以省略不写,其他区段则不可省略。
;编译信息开始(文件内注释用 ; 号来标识,如果PKG文件内包含双字节字符(比如中文,日文),则使用文本编辑工具 保存时,必须将PKG文件编码保存为UNICODE,否则无法正常编译。)

;PKG文件头部信息--开始

;语言支持(非必要)
& EN , ZH

;安装程序标题,版本号及SIS文件UID
#{" Language Name 1 "," Language Name 2 "},( UID ), 0 , 0 , 0 , SH , NC ,TYPE= SISAPP

;开发平台兼容性校验
( UID ), 0 , 0 , 0 ,{" Series60 ProductID "," Series60ProductID "}
;PKG文件头部信息--结束

;安装文件信息--开始

;单语言文件安装
" PCSourceFile/MyApp.app "-" MobileDestFile/MyApp.app "
;多语言文件安装(如果是单语言安装程序,则此段可省略)
{
"
PCSourceFile/MyApp.rEN "
"
PCSourceFile/MyApp.rZH "
}-"
MobileDestFile/MyApp.rsc "

;必要组件校验(非必要)
( UID ), 0 , 0 , 0 ,{" Language Name 1 "," Language Name 2 "}

;可选附加组件(非必要)
!({" Language Name 1 for Add-on 1 (20kb) ","
Language Name 2 for Add-on 1 (20kb) "},{" Language Name 1 for Add-on 2 (20kb) ","
Language Name 2 for Add-on 2 (20kb) "})

;条件判断(非必要,如果可选附加组件部分没有写,那么此部分也不需要写)
IF option1
"
PCSourceFile/addon/MyPic.gif "-" !:/System/Apps/MyApp/addon/MyPic.gif "
ENDIF

;附加SIS文件(非必要)
@" PCSourceFile ",( 0x12345678 )
;安装文件信息--结束
语言支持

界面语言支持 行,如果此行不写则取默认值& EN
一个SIS文件内可以包含多个界面语言版本,但只能安装一种语言(安装时会自动根据你的系统 语言来安装相应的界面语言版本) 
多个语言时用 ,  分隔
多语言安装程序时不可省略界面语言支持
·单一语言:& ZH
·多语言:& EN , ZH

参数值说明参数值说明参数值说明参数值说明
AF荷兰语(南非)FI芬兰语LS西班牙语(拉丁美洲)SF法语(瑞士)
AH埃塞俄比亚语FR法语LT立陶宛语SG德语(瑞士)
AM英语(美国)FS瑞典语(芬兰)LV拉脱维亚语SQ阿尔巴尼亚语
AR阿拉伯语GA爱尔兰语MK马其顿语SW瑞典语
AS奥地利语GD盖尔人语(苏格兰)ML马拉亚拉姆语(印度)SZ意大利语(瑞士)
AU英语(澳大利亚)GE德语MN蒙古语TA泰米尔语
BE俄语(白俄罗斯)GU古吉拉特语(印度)MO摩尔多瓦语TC中文(台湾)
BF法语(比利时)HE希伯来语MR马拉提语(摩剌陀语)TE泰卢固语(印度)
BG保加利亚语HI印地语(印度)MS马来语TH泰语
BL佛兰德斯语(比利时)HK中文(香港)MY缅甸语TI厄立特里亚语
BN孟加拉语HR克罗地亚语NN尼诺斯克语(挪威)TK土库曼语
BO藏语HU匈牙利语NO挪威语TL塔加拉语(菲律宾)
BP葡萄牙语(巴西)HY亚美尼亚语NZ英语(新西兰)TU土耳其语
CA加泰罗尼亚语(西班牙)IC冰岛语OS国际西班牙语VI越南语
CE英语(加拿大)IE国际英语PL波兰语UK乌克兰语
CF法语(加拿大)IF国际法语PO葡萄牙语UR乌尔都语
CS捷克语IN印度尼西亚语PA旁遮普语(印度、巴基斯坦)ZH中文
CT塞浦路斯语IT意大利语RO罗马尼亚语ZU祖鲁语
CY威尔士语JA日语RU俄语

DA丹麦语KA格鲁吉亚语(土耳其)SI斯里兰卡语

DU荷兰语KK哈萨克语SK斯洛伐克语

EL希腊语KM柬埔寨语SL斯洛文尼亚语

EN英语(默认值 )KN坎拿达语(印度)SO索马里语

ET爱沙尼亚语KO韩语SP西班牙语

FA波斯语LO老挝语SR塞尔维亚语

安装程序信息

#{" RescoView "," RescoView简体汉化版 "},( 0x11111111 ), 4 , 10 , 0 为例说明:

1. #{" RescoView "," RescoView简体汉化版 "} 是安装程序标题
如果是单一语言的安装程序,则只写一个标题即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按& EN , ZH 那个部分的顺序)输入各语言版本下的标题,标题名称用“, ”分割
·单一语言:#{" RescoView简体汉化版 "}
·多语言:#{" RescoView "," RescoView简体汉化版 "}

2. ( 0x11111111 ) 是SIS安装文件的UID(自定义,SIS安装文件即是安装完成后在C:/system/install/ 生成的相应SIS文件)

3. 4 , 10 , 0 是程序安装时显示的版本号,4 是主版本号,10 是次版本号,0 是build版本号;4 , 10 , 0 在安装时显示的就是4.10

4. SH , NC 是SIS文件选项(此处为非必要参数)

参数值(缩写)参数值(全称)说明
SHSHUTDOWNAPPS关闭应用程序
NCNOCOMPRESS不压缩


5. TYPE= SISAPP 是SIS文件的类型(如果未指定,则默认为TYPE= SISAPP

参数值(缩写)参数值(全称)说明
SASISAPP标准的安装程序(默认值)
SYSISSYSTEM此安装程序类型包含系统库或共享库文件注册(DLL或OPX文件),这些库文件在主程序卸载时会一并卸载
SOSISOPTION此安装程序类型安装时有可选组件,选择安装的组件在主程序卸载时会一并卸载
SCSISCONFIG此安装程序类型可以配置已存在的程序或服务,此类型打包时不应该包含任何新文件。只能用来配置安装或运行过程中的文件显示及增加新组件等等操作。在程序管理列表中不会显示配置程序的卸载,需要手动卸载
SPSISPATCH此安装程序类型会修复已存在的的程序,在程序管理列表中不会显示修复程序的卸载,需要手动卸载
SUSISUPGRADE此安装程序类型可以升级已存在的程序,但在程序管理列表中不会显示升级程序的卸载,需要用户手动删除文件或重新关联程序才能撤销升级
兼容性

此区段用来限制程序是否可以被正确安装在目标机型 上(比如防止NOKIA  Series60的软件 安装在UIQ的机型 上,避免造成程序错误)
( 0x101F6F88 ), 0 , 0 , 0 ,{" Series60ProductID "," Series60ProductID "} 为例说明:
1. ( 0x101F6F88 ) 是开发平台SDK的UID,也可以用具体机型的UID来限制
下表给出几个常见机型的平台UID及机型UID(由于能力问题,UID资料可能存在错误或不完全,请见谅)
以下对Symbian OS几个版本以及Series60的性能做一下概述
1.屏幕 显示象素:176×208
2.支持Java (J2ME/MIDP 1.0)及C++开发
3.便于简单短周期的开发程序
4.提供多样性并强大的应用程序开发框架
5.Series60 v2.x版本提供了对Java (J2ME/MIDP 2.0)及界面主题 模式的支持
6.Symbian OS 8.0提供了对3G网络 的支持

SDK版本UIDSeries60 SDK 0.9(Symbian 6.1)Series60 SDK 2.0(Symbian 7.0)Series60 SDK 2.0(Symbian 8.0)
手机 型号UID手机型号UID手机型号UID
Series60 0.90x101F6F88Nokia 76500x101F6F87Nokia 66000x101F7963Nokia 66300x101F7964
Series60 1.00x101F795FNokia 3650/3660/36200x101F7962Nokia 66200x1020216B
Series60 1.10x101F8201Nokia N-Gage0x101F8A64Nokia 76100x101FD5DB
Series60 1.20x101F8202Nokia N-Gage QD

Series60 2.00x101F7960Siemens SX10x101F9071
Series60 2.10x101F9115Sendo-X0x101FA031
Series60 2.20x10200BABBenQ P300x101FD279
UIQ 2.00x101F617B
UIQ 2.10x101F61CE


2. 2 , 0 , 0 是平台的版本号,2 是主版本号,0 是次版本号,0 是build版本号,2 , 0 , 0 显示的版本就是2.0
注:此处的版本号要根据UID来作相应改动。
例:如果UID是0x101F6F88 (Series60 0.9),则主版本号则需要写成0 ,次版本号也写0 即可
提示:
·如果只是希望安装在某一特定机型上(比如N-Gage),则UID处写N-Gage的UID,而平台版本处写0 , 0 , 0 即可
·如果希望安装程序能在多个机型上安装(向老版本机型兼容),则UID处写最老那个机型的平台版本的UID,平台版本号处参照上边第2 条写
例:假使希望可以安装在N7650,N3650,N-Gage,N-Gage QD,N6600上,则写为( 0x101F6F88 ), 0 , 0 , 0

3. {" Series60ProductID "," Series60ProductID "} 是平台类型校验字符串,用来目标机器的平台类型(UIQ或Series或其他类型)
平台类型字符串
Nokia Series60Series60ProductID
Nokia Series80Series80ProductID
Nokia Series90Series90ProductID
UIQ 2.0UIQ20PlatformProductID
UIQ 3.0UIQ30PlatformProductID


如果是单一语言的安装程序,则只写一个字符串即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按& EN , ZH 那个部分的顺序)输入各语言版本下的校验字符串,字符串间用“, ”分割
·单一语言:{" Series60ProductID "}
·多语言:{" Series60ProductID "," Series60ProductID "}

由于WDA上大家汉化的软件常见的只有
Nokia Series60 v1&v2
Nokia Series60 v3
UIQ v2
UIQ v3
所以如果上边的暂时不太懂的话,那就照以下两种类型情况下的例子改写即可
Nokia Series60 v1&v2 ( 0x101F6F88 ), 0 , 0 , 0 ,{" Series60ProductID "}
Nokia Series60 v3    ( 0x101F7961 ), 0 , 0 , 0 ,{" Series60ProductID "}
Nokia Series80       ( 0x101F8ED2 ), 0 , 0 , 0 ,{" Series80ProductID "}
Nokia Series90       ( 0x101FBE05 ), 0 , 0 , 0 ,{" Series90ProductID "}
UIQ 2.0             ( 0x101F617B ), 0 , 0 , 0 ,{" UIQ20PlatformProductID "}
UIQ 3.0             ( 0x101F6300 ), 0 , 0 , 0 ,{" UIQ30PlatformProductID "}

转帖:http://www.cnblogs.com/deavey/archive/2010/04/09/1708199.html


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值