BlackBerry - использовать собственный JAR-файл в собственном проекте - PullRequest
11 голосов
/ 02 апреля 2012

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

Цель

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

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

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

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

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

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

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

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

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

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


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

Ссылки StackOverflow:

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

Они не очень полезны:

RIM:

1 Ответ

2 голосов
/ 02 апреля 2012

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

...