Неверное приложение. Удалить? только при компиляции с Nokia SDK

Я разрабатываю программное обеспечение для своего университета и в настоящее время пытаюсь реализовать функциональность NFC, которая требует от меня перехода с моей стандартной платформы набора инструментов беспроводной связи Sun (реализованной через NetBeans) на платформу Nokia (также реализованную через NetBeans).

Проблема в том, что всякий раз, когда я компилирую код с реализацией платформы Nokia и запускаю программу, на моем телефоне Nokia или в эмуляторе отображается окно с надписью «Недопустимое приложение. Удалить?» с ответом да / нет. Это останавливает установку приложения. Странно то, что если я скомпилирую тот же код с реализацией платформы Sun, он будет работать без проблем на телефоне Nokia. Я пробовал это с двумя разными SDK Nokia (SDK Nokia 6212 NFC для Series 40 и SDK Series 40 5th Edition) с одинаковыми результатами.

Чем отличается Nokia SDK?


person Steven Knox    schedule 02.08.2010    source источник


Ответы (3)


Кажется, есть какое-то несоответствие между проектом, созданным на платформе Sun, и проектом, созданным на платформе Nokia.

Хотя исходная программа, изначально созданная на платформе Sun, скомпилированная с платформой Nokia, вызвала недействительность приложения, когда я создал новый проект с нуля, используя платформу Nokia, и просто скопировал исходный код исходной программы поверх работающей программы. Между двумя файлами JAD / manifest нет заметной разницы.

person Steven Knox    schedule 04.08.2010
comment
если под платформой Nokia вы имеете в виду Nokia SDK, то может быть разница в версии Java и API. Недавно я заметил, что Nokia SDK позволяет использовать векторы, перечисления и т. Д., Что невозможно с J2ME, поскольку он основан на Java 1.3. Один быстрый тест - увидеть, есть ли какие-либо различия во включенных банках. - person omermuhammed; 04.08.2010
comment
Действительно, кажется, что это так, но вы могли бы предположить, что оба sdk предназначены для создания кода для одного и того же языка, что у них не будет такой фундаментальной разницы. P.S. вы можете использовать перечисления (загрузить -llnw.oracle.com/javame/config/cldc/ref-impl/midp2.0/) и векторы (download-llnw.oracle.com/javame/config/cldc/ref-impl/midp2.0/) в j2me, возможно, вы думаете о более старой реализации - person Steven Knox; 10.08.2010

Если вы скопировали исходный код, возможно, вы не скопировали «manifest.midlets», то есть сообщает ОС, какие «формы» нужно создать. Обычно вы найдете это в свойствах проекта.

(например, в IDE NetBeans - Дескриптор приложения, вкладка «Мидлеты» - она ​​не должна быть пустой).

person JasonDiplomat    schedule 26.08.2010
comment
Нет, это не вызывает ошибки компилятора - это ОС, которая его использует. - person JasonDiplomat; 08.10.2010

Убедитесь, что следующие атрибуты (пары ключ: значение) находятся в файле JAD, а также файл манифеста в файле JAR:

  1. Имя мидлета
  2. Версия MIDlet
  3. Мидлет-вендор
  4. MIDlet-Jar-URL
  5. MIDlet-Размер банки
person omermuhammed    schedule 02.08.2010
comment
Программа компилируется через net-beans, поэтому и jad, и манифест создаются автоматически, я дважды проверил, есть ли эти вещи, и они есть. - person Steven Knox; 04.08.2010