Проблемы с максимальным количеством наложенных платежей для приложения - PullRequest
1 голос
/ 04 августа 2011

У меня есть некоторые проблемы при создании моего Java-приложения BlackBerry (состоит из 4 модулей)

Все началось, когда я попытался связать файл размером 14 МБ с одним из моих модулей. Компилятор не смог создать мое приложение, выдав исключение 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

В статье говорится, что максимальный размер моего приложения может составлять не более 14000 КБ, а также, что ограничение на количество одноуровневых файлов ХПК, которые могут существовать в одном приложении, составляет 127. Вторая часть этого утверждения вводит в заблуждение, поскольку неясно, относится ли это к максимальному количеству COD-файлов для всего приложения только для одного модуля, т.е. означает ли это, что у меня может быть не более 127 на каждый модуль, который есть в моем приложении (так что это 4 * 127 итого) или общее количество всех ХПК, которые есть в моем приложении (для всех 4 модулей), должно быть не более 127.

В любом случае, я уменьшил размер моего файла 14 МБ до 5,5 МБ, и теперь я могу собрать приложение, но все равно не могу его запустить.

Результаты моих дальнейших экспериментов смутили меня еще больше - вот они:

+-----------+------------+---------------------+----------------------------------------------+
| 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.

Первый (4000 КБ) и последний (6000 КБ) эксперименты имеют для меня смысл (при условии, что ошибка rejected by the device связана с количеством ХПК (128) в моем модуле), однако я полностью озадачен вторым (4400 КБ) и третий (5500 КБ). У второго общее количество наложенных платежей для приложения больше 127 - 130, однако, оно строится просто отлично. Третий имеет общее количество COD больше 127, но количество COD в самом большом модуле меньше 127, но не запускается. Я знаю, что исключение «Класс… не найден» может быть вызвано при запуске на устройстве с версией ОС ниже, чем версия компилятора JDE, которую я использовал. Здесь дело не в этом.

Я полагаю, что я достигла определенного предела с моим файлом и количеством генерируемых им ХПК. Кто-нибудь знает, что это за предел ???

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...