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

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

цель

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

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

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

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

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

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

Проблемы

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

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

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


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

Ссылки StackOverflow:

  • Blackberry: ошибка проверки при использовании проекта библиотеки в качестве внешнего банка
  • https://stackoverflow.com/questions/6134940/how-to-use-external-library-jar-file-in-blackberry
  • Blackberry 5.0 – добавление ссылки на проект библиотеки Java
  • Как добавить внешний файл jar или zip в проект Blackberry
  • Blackberry Apps – импорт кодовой подписки в проект приложения
  • Как добавить проект библиотеки с текущим проектом разработки в blackberry

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

  • Обработка зависимостей при разработке BlackBerry

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

  • В Blackberry мы можем создать общую библиотеку, которая может использоваться различными приложениями?
  • BlackBerry Facebook SDK jar файл
  • Добавление и тестирование совместимости внешнего Jar с Blackberry Project
  • Как подключить Jar в Blackberry
  • Требуется ключ подписи BlackBerry RIMAPPSA2 – почему?
  • Есть ли список classов, методов и API, которые будут вызывать разрешение RIMAPPSA2 при подписании приложения Blackberry?

RIM:

  • http://docs.blackberry.com/en/developers/deliverables/12002/Add_jar_dependency_923677_11.jsp

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

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

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

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

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

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

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

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

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

  • Если вы получите эту ошибку, проверьте тип сборки проекта.

  • Если вы правильно настроили его в MIDLET, попробуйте отредактировать манифест внутри файла JAR, чтобы удалить строку MicroEdition-Profile- MIDP-2.0 .

  • Полная информация приведена в этой ссылке: «Project {0} должен иметь файл jad-файла, если он экспортирует ошибку mildlet jar» в BlackBerry Java Plug-in для Eclipse

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

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


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

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

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

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

  • Есть ли плагин Eclipse для запуска системной оболочки в консоли?
  • Maven in Eclipse: пошаговая установка
  • Фиксация Eclipse после разрывов ADT
  • Ошибка запуска. Двоичный не найден. CDT на Eclipse Helios
  • бесплатная диаграмма последовательности UML обратное проектирование плагин eclipse, работающий из коробки - существует ли такая вещь?
  • Как установить параметр eclipse.ini -vm?
  • Android-устройство Chooser - устройство не отображается
  • Программно отображает представление из подключаемого модуля Eclipse
  • Плагин Aptana для Eclipse и jQuery
  • Как автоматически удалить конечные пробелы в Eclipse?
  • Interesting Posts

    Слияние писем – несколько строк в один документ

    Как изменить FileZilla, чтобы View / Edit открывал .html в Notepad ++, а не Firefox

    Как я должен понимать «Текущий ожидающий секторный счет» в отчетах CrystalDiskInfo?

    JPA – самый быстрый способ игнорировать поле во время сохранения?

    Разрешения NTFS – запретить удаление не работает

    Может ли Console.Clear использоваться только для очистки строки вместо всей консоли?

    Ресурсы $ NotFoundException: ресурс не является Drawable (цвет или путь)?

    Несколько приложений Spark с HiveContext

    Почему String.split требует, чтобы разделитель строк был экранирован?

    Невозможно отключить привод «subst»

    Фильтрация списка JavaBeans с помощью Google Guava

    Как запустить Opera 10 без каких-либо открытых вкладок?

    Добавление lib в ‘config.autoload_paths’ в Rails 3 не выполняет автозагрузку моего модуля

    Сравнение сетевых библиотек Android: OkHTTP, Retrofit и Volley

    Regex для сопоставления маршрутов в Express

    Давайте будем гением компьютера.