您的应用程序的大小在很大程度上决定了这一点。
当您构建一个 BlackBerry 应用程序时,它会被打包成一个 .cod 文件。但是,在几乎所有情况下,单个 .cod 文件实际上是一个包含较小 .cod 文件的容器。如果您重命名生成的单个 .cod 文件(例如,从 MyApp.cod 到 MyApp.zip),您实际上可以使用普通解压缩工具将其解压缩,并查看里面的内容。
应用程序的二进制文件越大,在这个外部 .cod 容器中创建的小 cod 文件就越多。我不记得所有的遗留问题,但基本上,构建工具会将应用程序分成许多小代码,以使每个代码保持在大约 64 KB 以下。(我认为这是因为网络下载限制。)所以,应用程序越大,鳕鱼越多。
代码签名将需要应用于每个鳕鱼(我认为每个鳕鱼发生 3 次)。
您的应用程序的总大小将取决于您拥有多少代码,尤其是捆绑资源的大小,例如图像。您当然可以使用更少的图像,并更多地压缩它们(例如使用 PNGCrush)。或者,您可能决定让您的应用在运行时下载这些捆绑的内容。显然,这是用应用程序大小换取运行时性能。我通常不会建议仅仅为了避免 codesigner spam,但它是一种选择。
您用于编译应用程序的操作系统也可能会影响大小。如果您不再需要支持 OS 5.0,并且您一直在使用 6.0 基本 OS 版本进行构建,您可能会考虑降到 5.0 以最小化您的应用程序的最终大小。当然,这假设您可以做到这一点,并且您不依赖于 6.0 或 7.x 功能。
但是,我知道有些人已经停止支持较旧的操作系统版本,而他们可能仍然可以这样做。无论如何,我认为这不会像捆绑的图像那样对您产生重大影响。
顺便说一句,我只是偶尔遇到黑莓代码签名服务器超时的问题。您的开发机器是否有可能存在不稳定的互联网连接?您可以尝试在此处查找有关签名服务器在线状态的近实时信息
这里还有一些其他需要阅读的内容:
http://supportforums.blackberry.com/t5/Java-Development/Issues-with-the-maximum-number-of-CODs-for-an-app/mp/1237881
针对较小的 .cod (.jar) 文件进行优化
http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-smartphone-application/ta-p/1300209