Blackberry: ошибка проверки при использовании проекта библиотеки в качестве внешнего Jar

Я создал два проекта Blackberry в подключаемом модуле Java Blackberry для Eclipse: MyProjectApp (устанавливается как проект приложения) и MyProjectLib (устанавливается как проект библиотеки). Теперь я создал простой класс MainScreen, как показано ниже:

public class SampleScreen  extends MainScreen {

    public SampleScreen (){
        RichTextField topbar = new RichTextField("hello world");
        add(topbar);
    }

}

Теперь я экспортирую MyProjectLib как файл Jar и добавляю то же самое в MyProjectApp как внешний Jar. Теперь я хочу запустить SampleScreen, используя это:

public class MyProjectMain extends UiApplication{

     public static void main(String[] args) {

         MyProjectMain theApp = new MyProjectMain();       
        theApp.enterEventDispatcher();
    }

    public LangHostMain(){        
        // Push a screen onto the UI stack for rendering.
         pushScreen(new SampleScreen());
    }

}

Это дает следующую ошибку:

Модуль "MyProjectApp" имеет ошибки проверки. Ошибка запуска MyProjectApp: модуль "MyProjectApp" имеет ошибки проверки.

Но если я переместил класс SampleScreen в MyProjectApp, он работает нормально. В чем проблема при экспорте банки и ее использовании? Какой тип проверки необходим?

2 ответа

Там есть инструмент preverify.exe; он гарантирует, что байт-код совместим с платформой BlackBerry.

Компилятор BlackBerry Rapc использует формат байт-кода java 1.3 при компиляции приложения в файл cod.

Если вы создали свой jar-файл в другом формате байт-кода, например, путем компиляции с версией 7.0 javac, то этот jar-файл не пройдет проверку.

Попробуйте скомпилировать файл JAR с ключом, чтобы сделать его совместимым с байт-кодом VM 1.3,

использование -target 1.3 комбинация ключ-значение для компилятора java для создания вашего jar-файла.

Короче говоря, использование банок в BlackBerry - беспорядок.

Ваш кувшин должен быть предварительно проверен. У меня было так много проблем в прошлом, когда я пытался сделать это с помощью плагина eclipse, что я обычно делаю это с помощью командной строки. Внутри вашего пути JDE, обычно по адресу:

C:\Program files\Research In Motion\BlackBerry JDE x.x.x\bin

Там программа называется preverify, Как только вы предварительно проверили свою банку, в указанной выходной директории создается другая предварительно проверенная банка. Это файл, который вы должны импортировать в путь сборки.

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