Pull to refresh

Blackberry Ant Tools — система сборки проектов для Blackberry.

Стандартный диалог с заказчиком при обсуждении очередного проекта для Blackberry выглядит примерно так:

PM (с надеждой): А вам версии приложения для каких платформ нужны?..
Заказчик : Для всех!!!

Вот тут-то, %username%, начинается тот самый кошмар, имя которому «разработка для Blackberry».

Особенности процесса компиляции.

Во-первых, у Blackberry достаточно много версий их ОС. Не буду перечислять их все, отмечу лишь, что как правило требуется поддержка как минимум диапазона 4.1-4.7, реже версий меньше 4.0. Соответственно, приходится как минимум создавать билд для каждой из платформ, так как одни и те же функции API работают на них по-разному.

Во-вторых, вне зависимости от установленной версии ОС, у телефонов Blackberry большой набор возможных разрешений. Значит, скорее всего придется делать отдельный билд приложения для каждого из этих разрешений.

В-третьих, для того, чтобы скомпилировать приложение для Blackberry надо:

  1. Нажать кнопку F7 в Blackberry IDE (не сложно ведь, правда?)
  2. Подписать получившийся .cod-файл, что включает в себя
    • Дважды щелкнуть по .cod-файлу мышкой
    • Ввести пароль для подписи
    • Нажать OK
  3. Разархивировать получившийся .cod-файл. Здесь имеет смысл пояснить — Blackberry JDE преобразует стандартный формат бинарника .JAR в формат Blackberry OS .cod. Более того, JDE автоматически разбивает слишком большой .cod файл на несколько более мелких кусочков и затем зипует их в архив с тем же расширением. Но установить такой архив на телефоне невозможно — надо сначала раззиповать его на кучу .cod-файлов
  4. И наконец, надо скопировать все .cod-файлы и .jad-файл на какой-нибудь сервер — ибо проще всего установить приложение на Blackberry можно лишь скачав его из браузера, установленного на телефоне


А теперь представим, что заказчику захотелось иметь версии приложения для 10 девайсов. Если делать все руками, потратим минимум полчаса — это если все сделать без ошибок.

Как же все сделать по-человечески?

Сначала, перелопатив документацию о RIMовском компиляторе, я сделал несколько батников, с помощью которых компилировал приложения. Но потом и их стало нехватать. В один прекрасный день я наткнулся на проект Blackberry Ant Tools — и я забыл о получасовой компиляции навсегда.

Основные возможности расширения:
  • С помощью тега <jdp> настроить все параметры проекта — название приложения, его иконку, импорт нужных библиотек и многое другое.Выглядеть это будет примерно вот так:

    <jdp title="Kick Ass App" vendor="Slashdev" version="1.0" type="cldc" /&#62
  • Директива <sigtool> позволяет избежать ручной подписи файлов
  • Директива <define> дает возможность указать директивы препроцессора для компилятора RIM (да, у них даже есть препроцессинг!). В JDE версии < 4.7 это можно сделать только редактируя вручную файл проекта JDE (.jdp)

Есть еще множество плюшек, с которыми можно ознакомиться здесь

Примечание.

Единственной серьезной проблемой данного расширения было то, что при компиляции проекта иногда ресурсы (картинки, звуки итп) складывались в корень .cod-файла. Оказалось, что «иногда» — это когда для директивы <rapc> указан аттрибут destdir, отличающийся от корневой директории проекта. Таким образом, проблема оказалась в компиляторе от RIM. Решение очевидно — копировать бинарники с помощью стандартных антовских директив.

Вот, собственно и все %).
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.