最近论坛上有很多人问到平台号及产品号的问题,这是在pkg打包过程中必然会遇到的问题,下面内容穇译自《Series60游戏设计参考》一文,希望对大家有所帮助:
pkg file定义了安装文件(sis)的内容,它包括应用程序的UID,一个支持的语言列表,目标产品的UID和打包在sis的一组文件:
; MyGame.pkg
; Specifies an installation file for MyGame
;Languages
&EN
;Header
#,(0x1000ABCD),1,0,0
; Required line for Series 60 devices. Defines the target product
; UID.
(0x101F6F88), 0, 0, 0,
“/epoc32/release/thumb/urel/MyGame.app”-“!:/system/apps/MyGame/MyGame.app”
“/epoc32/release/thumb/urel/MyGame.rsc”-“!:/system/apps/MyGame/MyGame.rsc”
“/epoc32/release/thumb/urel/MyGame.mbm”-“!:/system/apps/MyGame/MyGame.mbm”
“/epoc32/release/thumb/urel/MyGame.aif”-“!:/system/apps/MyGame/MyGame.aif”
“../MyGame/MyGameSample.wav”-“!:/system/apps/MyGame/MyGameSample.wav”
Product UID定义了应用程序的目标环境,大部分的s60版本是向下兼容的。
参见下表:
Nokia 7650 0x101F6F87
Nokia 3650 0x101F7962
Nokia 9210/9290 0x10005E33
Nokia N-gage 0x101F8A64
Siemens SX1 0x101F9071
Series 60 Platform v0.9 0x101F6F88
Series 60 Platform v1.0 0x101F795F
Series 60 Platform v1.1 0x101F8201
Series 60 Platform v1.2 0x101F8202
Series 60 Platform v2.0 0x101F7960
如果程序需要依据各不同的平台来进行安装,那就可以使用条件语句块来处理,这时pkg里的语句如下:
;
; Files to install
;
IF MachineUID=0x101fb3dd
; Nokia 6600 specific files
“../MyFiles/FileFor6600.dat”-“!:/system/apps/MyGame/MyData.dat”
ELSEIF MachineUID=0x101f466a
; Nokia 3650 specific files
“../MyFiles/FileFor3650.dat”-“!:/system/apps/MyGame/MyData.dat”
ELSE
; Files for other devices
“../MyFiles/FileForOthers.dat”-“!:/system/apps/MyGame/MyData.dat”
ENDIF
如上的使用你就可以生成一个支持多平台的安装文件,除了机器UID外,还有很多属性,如内存和CPU的标识:
注意,机器UID和Product UID是不同的,见下:
Nokia 7650 0x101F4FC3
Nokia 3650 0x101F466A
Nokia 6600 0x101FB3DD
Nokia 9210/9290 0x10005E33
Nokia N-Gage 0x101F8C19
Win32 Emulator 0x10005F62
可以使用如下的代码来找出该设备的机器UID:
#include <hal.h> //and link with hal.lib
TInt machineUid = 0;
HAL::Get(HALData::EmachineUid, machineUid);
BestRegards
hoolee
Series60 平台编号问题
最新推荐文章于 2024-08-05 22:01:02 发布