BlackBerry - использовать собственный JAR-файл в собственном проекте
(Я решил свою проблему, поэтому отредактировал ее так, чтобы она выглядела больше как пост в блоге - окончательное рабочее решение размещено в виде "ответа" ниже.)
цель
Я хочу упаковать наши библиотеки BB (v4.5 ИЛИ v5.0) в формат JAR, чтобы мы могли предоставлять исходный код приложения клиентам БЕЗ предоставления исходного кода библиотеки.
Временное решение
В настоящее время у меня есть мой SDK и мои приложения, все настроены с исходным кодом, как разные проекты в одной рабочей области. Все проекты компилируются. Мой SDK настроен как проект библиотеки, а мои приложения - как приложения.
В каждом приложении я добавляю проект SDK в путь сборки.
Eclipse отлично справляется со сборкой, создает различные COD-файлы. Я копирую и разархивирую файлы COD в ту же папку, запускаю updatejad
объединить JAD-файлы и получить множество COD-файлов, которые отлично устанавливаются.
Проблема в том, что библиотека должна быть в исходном коде.
Обнаруженные проблемы
Есть много противоречивых источников информации по этому вопросу. Процесс прост, но плохо документирован. В некоторых попытках я столкнулся со следующими проблемами:
- JAR-файл, нуждающийся в предварительной проверке (возможно, тема для еще одного подробного поста в будущем)
- JAR-файл, которому требуется "секретная" подпись RIMAPPSA2 от инструмента подписи
- Окончательно созданное приложение рассматривается как "не подписанное", несмотря на то, что средство подписи подтверждает успех
- Окончательно скомпилированное приложение не нашло код SDK (файл JAR не был экспортирован в настройках пути сборки)
К сожалению, основной документ, на который ссылается RIM, неверен - подробности ниже.
(Я надеюсь, что это нормально для перекрестной ссылки на этот вопрос со следующим длинным списком ссылок?)
Ссылки Stackru:
- Blackberry: ошибка проверки при использовании проекта библиотеки в качестве внешнего Jar
- https://stackru.com/questions/6134940/how-to-use-external-library-jar-file-in-blackberry
- Blackberry 5.0 - Добавить ссылку на проект библиотеки Java
- Как добавить внешний jar или zip файл в проект Blackberry
- Blackberry Apps - импорт подписанного кода фляги в проект приложения
- Как добавить библиотечный проект с текущим проектом разработки в Blackberry
Этот дает другие ссылки - довольно полезно:
Это не так полезно:
- В Blackberry мы можем создать общую библиотеку, которая может использоваться различными приложениями?
- Файл jar для BlackBerry Facebook SDK
- Добавление и тестирование совместимости внешнего Jar с Blackberry Project
- Как прикрепить баночку в Blackberry
- Требуется ключ подписи BlackBerry RIMAPPSA2 - почему?
- Есть ли список классов, методов и API, которые будут вызывать разрешение RIMAPPSA2 при подписании приложения Blackberry?
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.
Если вы получили эту ошибку, пожалуйста, проверьте тип сборки проекта.
Если вы правильно установили MIDLET, попробуйте отредактировать манифест внутри файла JAR, чтобы удалить строку
MicroEdition-Profile- MIDP-2.0
,Полная информация дана по этой ссылке: "Проект {0} должен иметь файл JAD-файла, если он экспортирует jard-файл mildlet", появляется ошибка в подключаемом модуле BlackBerry Java для Eclipse.
ПРИМЕЧАНИЕ: в отношении подписи RIMAPPSA2 я нашел некоторую информацию об избавлении от этого требования. Шаги кажутся странными, но они сработали для меня, поскольку прошла стадия подписания. К сожалению, для меня приложение не запускалось на телефоне (все еще требуются некоторые подписи). Но эти шаги могут помочь кому-то еще и могут быть найдены на Frustrations с плагинами Blackberry Developer для Eclipse
ПРИМЕЧАНИЕ 2: не забудьте обновить ваш проект после повторного импорта новой сборки файла JAR, если вам придется вернуться к шагу 1 (в противном случае Eclipse будет продолжать использовать старый, который вы только что перезаписали).
Итак, подведем итог:
- Постройте SDK как мидлет.
- Пакет и подписать SDK.
- Импортировать в проект приложения и обязательно установите флажок для его экспорта в настройках пути сборки.
Если у вас есть вопросы о сигнатурах RIMAPPSA2, см. Шаг 1.
Легко, когда ты знаешь, как - но мне потребовалось много дней, чтобы получить права?!?