NoClassDefFoundError при предварительной проверке файлов JAR в BlackBerry

Я также задавал этот вопрос на форумах поддержки BlackBerry в разделе " NoClassDefFoundError во время предварительной проверки файлов JAR в BlackBerry".

Я добавляю библиотечные файлы (jar-файлы) в свой проект BlackBerry и пытаюсь запустить его. Но это дает мне следующую ошибку: Ошибка!: Отсутствует карта стека на метке 77. Поэтому я пытаюсь выяснить проблему и найти эту ссылку: Preverify Link

Поэтому я попытался решить эту проблему, используя preverifier. Поскольку я использую плагин BlackBerry Eclipse, я попытался следующим образом:

  1. Скопируйте файл jar в папку bin моих плагинов eclipse 6.0 (eclipse-SDK-3.5.2-win32\eclipse\plugins\net.rim.ejde.componentpack6.0.0_6.0.0.29\components\bin)
  2. Выполните следующую команду в командной строке:

     preverify -classpath "<path to 6.0.0.29 SDK>\net_rim_api.jar" "ArcotOTP-Lib-Java-Test-2.0.0.jar"
    

Но после запуска этой строки я получаю следующую ошибку:

Ошибка предварительной проверки класса Mypackage.API$1
java/lang/NoClassDefFoundError: Mypackage/Test

1 ответ

Устройства BlackBerry работают на платформе Java-ME, поэтому вы не можете использовать современные функции Java. Типичные Java-файлы JAR в наши дни используют новые функции, которые не имеют обратной совместимости с платформой Java-ME. Некоторые проекты делают обратную совместимость, например, Bouncy Castle. Но это редко.

На этот вопрос, дублированный на форумах BlackBerry, также ответили на форумах BlackBerry, которые я здесь опишу:

simon_hain:

и это библиотека j2me?

Ариндам Мукерджи:

Нет, это библиотека Java. Все классы в основном являются классами Java. Та же библиотека, которую я использую для Android также и она отлично работает для меня..

simon_hain:

BlackBerry использует J2ME в качестве базы, Android использует J2SE. Вы не можете использовать библиотеку Android в BlackBerry, если не перекомпилируете ее (и не исправите все ошибки из-за отсутствия отражения, списков и т. Д.)

Другие вопросы по тегам