UPDATE:
RIM выпустила плагин MacOS Eclipse для Blackberry Development: http://na.blackberry.com/eng/developers/javaappdev/macosx.jsp
Пока нет встроенного симулятора, плагин DOES поддерживает отладку привязанного USB-устройства для портативных компьютеров Torch 9800. Я планирую получить один; они составляют $ 499 без контракта. Благодаря Torch и новому плагину разработка Blackberry возможна без использования виртуальной машины. (Наконец!)
ПРЕДЫДУЩАЯ ПОЧТА:
Сборка на MacOS работает хорошо, как только вы ее настроите. Мне меньше повезло с симулятором. В целом, возможность запустить Eclipse в MacOS и перейти на виртуальную машину Windows только для отладки - это большая победа в моей книге.
Вы можете получить версию Mac для предварительной проверки (подробности см. По ссылке ниже). Я занимаюсь разработкой с Eclipse для MacOS X и использую Ant для создания приложений BB.
Этот блог превосходен и содержит множество деталей, с которых можно начать:
http://www.azizuysal.com/2009/07/blackberry-development-on-mac-os-x.html (исходная ссылка устарела. «Машина обратного хода» предоставляет нам исходное текстовое содержимое, но изображения и стили теряются в песках времени. Все еще стоит прочитать.)
Самое сложное - заставить симулятор работать. Существует обходной путь на основе Wine, но на моем компьютере, когда симулятор мог работать под Wine, вывод на ЖК-дисплей был зашифрован.
В настоящее время я собираю файлы COD с Mac, и мой процесс сборки Ant помещает их в каталог, который используется совместно с виртуальной машиной WinXP. Я могу запустить симулятор автономно в этой виртуальной машине. Отладка также возможна, если установить Eclipse внутри WinXP и указать конфигурацию отладки в исходных каталогах.
У меня на самом деле немного больше магии. Я включил некоторые функции Java 1.5, скомпилировав с 1.5, а затем переведя байт-код в 1.3 перед сценарием предварительной проверки. (Blackberry говорит только на варварском языке 1.3 java, ретроспективный взгляд к 1992 году). Это не серебряная пуля, так как некоторые функции все еще не работают, но это сокращает необходимость превращать все в нетипизированные ссылки на объекты.
В последнее время я работаю над платформой для x-платформы, чтобы позволить мне один раз написать код приложения и выполнить сборку как для Android, так и для Blackberry (оба являются Java). Часть Android была легкой. Это просто сука, чтобы отладить что-нибудь в Blackberry. Кто-то, работавший в RIM, решил, что Blackberry не нужно хранить трассировки стека исключений, если только не было перехвата (Throwable), а затем он мог сделать что-то странное, нестандартное и недокументированное (перехватывая Throwable ведет себя странный ). Я только что-то понял, как взломать трассировку стека с помощью JavaLoader.exe без взлома отладчика, и это едва ли стоит.
p.s., Сейчас я занимаюсь разработкой x-платформы с единой базой кода, ориентированной на Android, Blackberry и Desktop. Настольный компьютер отлично подходит для тестирования функциональности приложений, так как тестирование Blackberry на устройстве очень мало, как только функции работают в настольном «симуляторе» (графический интерфейс Swing, созданный для отладки наших игр).