BlackBerry - использовать собственный JAR файл в собственном проекте

(Я решил свою проблему, поэтому отредактировал ее, чтобы больше походить на сообщение в блоге - окончательное рабочее решение было помещено как "ответ" ниже.)

Цель

Я хочу упаковать наши библиотеки BB (v4.5 OR v5.0) в формат JAR, поэтому мы можем предоставить исходный код приложения клиентам БЕЗ предоставления исходного кода библиотеки.

Обход

В настоящее время у меня есть SDK и мои приложения, все настройки с исходным кодом, как разные проекты в одной рабочей области. Все проекты компилируются. Мой SDK настроен как проект библиотеки, мои приложения как приложения.

В каждом приложении я добавляю проект SDK к пути сборки.

Eclipse отлично обрабатывает сборку, создает различные файлы COD. Я копирую и разархивирую файлы COD в одну и ту же папку, запускаю updatejad, чтобы объединить файлы JAD, и в конечном итоге с большим количеством файлов COD, которые устанавливаются отлично.

Проблема - библиотека должна быть в исходном коде.

Обнаруженные проблемы

Существует много противоречивых источников информации об этом. Процесс прост, но плохо документирован. В некоторых попытках я столкнулся со следующими проблемами:

  • Файл JAR, нуждающийся в предварительной проверке (возможно, тема для другой всеобъемлющей публикации в будущем)
  • Файл JAR, требующий "секретной" подписи RIMAPPSA2 от инструмента подписи
  • Заключительное построенное приложение воспринимается как "не подписанное", несмотря на то, что подписывает инструмент, подтверждающий успех.
  • Окончательное построенное приложение не находит код SDK (файл JAR не был экспортирован в настройках пути сборки)

К сожалению, основной документ, который, как представляется, ссылается на RIM, неверен - подробности ниже.


(Я надеюсь, что его ОК перекрестно ссылается на этот вопрос со следующим длинным списком ссылок?)

Ссылки StackOverflow:

Это дает другие ссылки - весьма полезно:

Это не так полезно:

RIM:

Ответ 1

Мне удалось решить проблему, поэтому отредактировал вопрос и поместил последнюю процедуру с примечаниями ниже:

1) Измените проект SDK как приложение MIDLET в соответствии с этой ссылкой (Ричард Шиллингс Профессиональный веб-журнал)

  • В форуме поддержки BlackBerry есть сообщение (Работа с библиотеками) ошибочно советует разработчику установить проект как APPLICATION.
  • Если вы следуете этим инструкциям, вы можете получить ошибку подписи, требующую печально известной подписи RIMAPPSA2, которую мы не можем подписать.

2) Создайте проект SDK в Eclipse. Пакет и Подпишите проект как обычно.

  • Это создаст файл JAR в папке с доставкой (.... deliverables\Standard\5.0.0)

3) Скопируйте полученный JAR файл в ваш проект и обновите путь сборки для использования JAR.

  • Вы могли бы получить рабочие результаты, просто добавив его в качестве внешнего JAR, но я предпочитаю хранить JAR файлы с моими проектами.

4) Также в настройках пути сборки перейдите на вкладку "Заказ и экспорт" и установите флажок, чтобы экспортировать этот файл JAR.

ПРЕДУПРЕЖДЕНИЕ: В этот момент многие пользователи, похоже, сталкиваются с ошибкой, в которой Eclipse сообщает, что "Project {0} должен иметь файл jad файла, если он экспортирует банку с mildlet". Эта ошибка возникает, если вы не задаете тип проекта SDK MIDLET.

ПРИМЕЧАНИЕ: относительно подписи RIMAPPSA2, я нашел некоторую информацию об избавлении от этого требования. Шаги кажутся странными, но они работали на меня, поскольку этап подписания пошел. К сожалению для меня приложение не запускалось по телефону (все еще требуя некоторых подписей). Но эти шаги могут помочь кому-то еще и могут быть найдены в Разочарование с плагинами разработчиков Blackberry для Eclipse

ПРИМЕЧАНИЕ 2: не забудьте обновить свой проект после реимпорта новой сборки файла JAR, если вам нужно вернуться к шагу 1 (иначе Eclipse будет продолжать использовать старый, который вы только что перезаписали).


Итак, суммируем:

  • Создайте SDK как MIDLET.
  • Пакет и знак SDK.
  • Импортировать в проект приложения и обязательно установите флажок, чтобы экспортировать его в настройках пути сборки.

Если у вас возникли вопросы о подписях RIMAPPSA2, см. шаг 1.

Легко, когда вы знаете, как это сделать - но это заняло у меня много дней, чтобы получить право?!?