在主程序的sis中嵌入一个sis包,打包的时候提示SISfile error, expected data missing。
用carbide直接签名提示的错误时 sginsis error return valut=1,但是这么提示出来的错误,信息太少了,根本没有办法去查找解决办法。
后来经高人给指点了一下,用命令行签名,提示出SISfile error, expected data missing。这个错误才从网上查到解决办法。
问题的原因是pkg的平台标识那一行,是这么写的
;Supports Series 60 v 3.0
[0x101F7961], *, *, *, {"Series60ProductID"}
这样签完名的sis包里面解开sis包的时候再查看这一行会变成这样
;Supports Series 60 v 3.0
[0x101F7961], -1, -1, -1, {"Series60ProductID"}
这就是错误中所提到的,需要的数据丢失。。
解决办法是把那三个*改成0就ok了
;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
还有平台id没有包括的话,在安装的时候会提示程序和手机不兼容。
写pkg的时候最好把能够兼容的手机平台都加上
比如让pkg兼容3版和5版
需要写成
;Supports Series 60 v 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
;Supports Series 60 v 5.0
[0x1028315F], 0, 0, 0, {"Series60ProductID"}