JavaME NullPointerException при изменении имени мидлета или свойства поставщика (эмулятор Eclipse + Series 40) - PullRequest
0 голосов
/ 31 июля 2010

У меня был проект мидлета под названием Numbers, который я решил переименовать в Digits.Вместо того, чтобы просто переименовать его, я решил создать новый проект с нуля, чтобы у меня был новый каталог, имя пакета, имена .jad / .jar и т. Д. Все прошло нормально, я скопировал файлы .java в / srcи файлы ресурсов в / res и перекомпилированы успешно.Я использовал Eclipse Helios и Nokia Series 5 5th Edition SDK, Feature Pack 1, для обоих проектов.

Теперь, по какой-то странной причине, когда мидлет запускается в эмуляторе, он генерирует исключение NullPointerException, но не сразу при запуске, а после заставки (это игра).Я вообще не касался кода, поэтому исключаю возможность исключения в коде, поскольку оно работало просто отлично, когда проект назывался Numbers.После часа проб и ошибок я обнаружил странную вещь: если я открою дескриптор приложения и изменит свойство имя мидлета с «Цифры» на «Числа» (старое имя проекта), все будет работать отличнои не исключение не выбрасывается.

Я выполнил текстовый поиск во всех файлах проекта, и слово «Numbers» появляется только в дескрипторе приложения и в файле .jad, и только после того, как я изменил свойство имени мидлета, иначе эта строка нигде не будетнайдено (без имен классов, без переменных, без других свойств, ни в коде, ни в проекте нет строки «Числа»).Откуда эта ссылка?Ошибка в эмуляторе Eclipse или Series 40?Что дает?

1 Ответ

0 голосов
/ 31 июля 2010

Найден, еще через полчаса расследования.В каталоге Series 40 SDK есть папка, которая, очевидно, кэширует те MID-леты, которые она запускает, и также хранит там более старые версии того же самого MID-лета.Я очистил весь каталог, и теперь проект прекрасно запускается с новыми значениями в Имя мидлета и Поставщик мидлета .Каталог для очистки:
Nokia \ Devices \ S40_5th_Edition_SDK_Feature_Pack_1 \ bin \ Storage \ 6500500 \ C \ DirectLoaded \

...