应用程序的最大COD数量问题

时间:2011-08-03 21:28:57

标签: java blackberry

我在构建BlackBerry Java Application(包含4个模块)时遇到了一些问题

这一切都是在我尝试将14MB文件捆绑到我的模块之一时开始的。编译器无法构建我的应用程序抛出异常Fatal Internal error: java.lang.NullPointerException - 这不是编译时错误,它是来自编译器本身的运行时错误。 我试图研究这个问题,并从RIM找到了以下知识库文章:

http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-smartphone-application/ta-p/502534

文章说我的应用程序的最大大小不能超过14000KB,并且单​​个应用程序中可存在的兄弟COD文件数量的限制是127.本声明的第二部分令人困惑,因为目前尚不清楚它是指单个模块的整个应用程序的COD文件的最大数量,即是否意味着我的应用程序中每个模块的最大数量不超过127个(所以它是4 * 127总计),或我在我的应用程序中所有COD的总数(对于所有4个模块)不应超过127个。

无论如何,我已将14 MB文件的大小减小到5.5 MB,现在我可以构建应用程序,但我仍然无法运行它。

我进一步实验的结果让我更加困惑 - 这里是:

+-----------+------------+---------------------+----------------------------------------------+
| File Size | Total CODs | Largest Module CODs | Result                                       |
+-----------+------------+---------------------+----------------------------------------------+
| 4000KB    | 123        | 88                  | OK                                           |
|           |            |                     |                                              |
| 4400KB    | 130        | 95                  | OK                                           |
|           |            |                     |                                              |
| 5500KB    | 153        | 118                 | 6.0/7.0 – Class                              |
|           |            |                     | ‘net.rim.device.api.crypto.SHA1Digest’       |
|           |            |                     | not found                                    |
|           |            |                     | 5.0 – Class                                  |
|           |            |                     | ‘javax.wireless.messaging.MessageConnection’ |
|           |            |                     | not found                                    |
|           |            |                     |                                              |
| 6000KB    | 163        | 128                 | Javaloader Error loading Module:   |
|           |            |                     | The specified module was rejected by the     |
|           |            |                     | device and cannot be loaded                  |
+-----------+------------+---------------------+----------------------------------------------+

*-Other 3 modules always had the same total numbers of CODs – 35.

第一个(4000KB)和最后一个(6000KB)实验对我有意义(假设rejected by the device错误是由于我的模块中的COD数量(128)),但是我完全不知道第二个(4400KB)和第三个(5500KB)。第二个应用程序的COD总数大于127 - 130,但它建立得很好。第三个COD的总数大于127,但最大模块中的COD数量小于127,但是没有启动。我知道当我运行的操作系统版本低于我使用的JDE编译器版本时,可能会抛出“Class ... not found”异常。这不是这种情况。

我相信我的文件和它产生的COD数量受到了限制。有谁知道这个限制是什么???

谢谢!

0 个答案:

没有答案