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

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

цель

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

Временное решение

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

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

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

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

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

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

  1. JAR-файл, нуждающийся в предварительной проверке (возможно, тема для еще одного подробного поста в будущем)
  2. JAR-файл, которому требуется "секретная" подпись RIMAPPSA2 от инструмента подписи
  3. Окончательно созданное приложение рассматривается как "не подписанное", несмотря на то, что средство подписи подтверждает успех
  4. Окончательно скомпилированное приложение не нашло код SDK (файл JAR не был экспортирован в настройках пути сборки)

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


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

Ссылки Stackru:

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

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

RIM:

1 ответ

Решение

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

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

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

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

  • Это создаст файл JAR в папке результатов поставки (....доставка \ Стандарт \ 5.0.0)

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

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

4) Также в настройках пути сборки перейдите на вкладку "Порядок и экспорт" и установите флажок для экспорта этого файла JAR.

ВНИМАНИЕ: в этот момент многие пользователи, похоже, сталкиваются с ошибкой, когда Eclipse сообщает вам: "Проект {0} должен иметь файл jad-файла, если он экспортирует jild-файл jar". Эта ошибка происходит, если вы не установили тип проекта SDK на MIDLET.

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

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


Итак, подведем итог:

  1. Постройте SDK как мидлет.
  2. Пакет и подписать SDK.
  3. Импортировать в проект приложения и обязательно установите флажок для его экспорта в настройках пути сборки.

Если у вас есть вопросы о сигнатурах RIMAPPSA2, см. Шаг 1.

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

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