我正在构建Cordova / Blackberry应用程序,并且正在努力将程序加载到我的设备上进行测试。
当我第一次构建phonegap代码时,在运行带有50个签名的ant blackberry load-device
时需要54个代码签名,这在每10次尝试中失败7次。 (没有响应来自BB服务器,它永远不会完成建设)。
在对应用程序进行了一些更多的工作之后,我今天去了设备上进行测试,突然发现我现在需要642个签名。这永远不会起作用。
黑莓如何决定我需要多少签名?如何才能将其恢复到可管理的水平?
答案 0 :(得分:1)
你的应用程序的大小很大程度上决定了这一点。
构建BlackBerry应用程序时,它会打包成.cod文件。但是,几乎在所有情况下,单个.cod文件实际上是较小的.cod文件的容器。如果您重命名构建产生的单个.cod文件(例如从MyApp.cod到MyApp.zip),您实际上可以使用普通的解压缩工具解压缩它,看看里面有什么。
应用程序的二进制文件大小越大,将在此外部.cod容器中创建的cod文件越小。我不记得所有的遗产,但基本上,构建工具会将应用程序分成许多小鳕鱼,以保持每个低于64KB。 (我认为这是因为网络下载限制。)因此,应用程序越大,鳕鱼越多。
代码签名需要应用于每个鳕鱼(我认为它每鳕鱼发生3次)。
应用的总大小取决于您拥有的代码量,尤其是捆绑资源的大小,例如图片。您当然可以使用更少的图像,并将其压缩得更多(例如使用PNGCrush)。或者,您可能决定让您的应用程序在运行时下载一些捆绑的内容。显然,这是交易应用程序大小的运行时性能。我一般不会建议只是为了避免代码签名者垃圾邮件,但这是一个选项。
您用来编译应用的操作系统也可能会影响其大小。如果您不再需要支持OS 5.0,并且您使用6.0基本操作系统版本进行构建,则可以考虑降低到5.0以最小化应用程序的最终大小。当然,这假设您可以执行此操作,并且您不依赖于6.0或7.x功能。
但是,我知道有些人已经停止支持旧操作系统版本,而他们可能仍然会这样做。无论如何,我认为这不会像捆绑的图像那样对你产生很大的影响。
顺便说一句,我只是偶尔出现黑莓代码签名服务器超时的问题。您的开发机器是否可能存在片状互联网连接?您可以尝试looking here for near realtime information about the signing servers' online status
以下是其他一些要阅读的内容: