Список содержимого

Лицензионное соглашение

Исходный текст программы распространяется под лицензией GPL v2.

Copyright (c) 2005-2009 Eugene Stahov (evgs), http://bombus-im.org/

В состав Bombus входят следующие библиотеки:

  1. KVMJab Copyright © 2000,2001 Al Sutton ([email protected]). All rights reserved. (лицензия BSD)
  2. JZlib Copyright © 2000,2001,2002,2003 ymnk, JCraft,Inc. All rights reserved. (лицензия BSD)
  3. реализация MD5 и SHA1 из состава SSTTR Library (лицензии см. в исходных текстах: com/ssttr/crypto/)

Исходный текст Bombus

Исходный текст Bombus доступен через Subversion:

http://svn.xmpp.ru/repos/bombus/trunk

или

https://svn.xmpp.ru/repos/bombus/trunk

Патчи принимаются по адресу [email protected]

Инструменты, используемые для сборки Bombus

ВНИМАНИЕ!!! Суммарный объём инструментария превышает 200 мегабайт!

ВНИМАНИЕ! Netbeans Mobility Pack 5.0 содержит старую версию Proguard с серьёзной ошибкой. Без обновления Proguard компиляция release-версии Bombus невозможна. Нормальная сборка гарантируется в версиях Proguard 3.2 и Proguard 3.5. При использовании NetBeans Mobility Pack 5.5 обновление Proguard не требуется. Proguard 3.7 из Netbeans Mobility Pack 5.5.1, а также Proguard 4.1 (и может быть другие новые релизы) нельзя использовать из-за кривизны!!


Опционально:


Дополнительные ресурсы:

FAQ по сборке

Вопрос 1: Как правильно скачать исходники Bombus?

Ответ 1: Первое скачивание:

 svn checkout http://svn.xmpp.ru/repos/bombus/trunk 

обновление:

 svn up 

Ответ 2: Subversion-клиент интегрирован в Netbeans 6.x.

Первое скачивание: в меню Versioning выбираем пункт Subversion→Checkout..., в поле Repository URL указываем http://svn.xmpp.ru/repos/bombus/trunk, нажимаем Next>, на следующем экране указываем путь, куда хотим сохранить исходники, и нажимаем Finish.

Обновление: в окне Projects выбираем Bombus, в контекстном меню на его значке выбираем пункт Subversion→Update.

Вопрос 2: Размер скомпилированного Bombus слишком большой! Дико мигает значок GPRS, телефон попискивает (Siemens)!

Ответ 2.1: Bombus собран в отладочной конфигурации DefaultConfiguration, содержащей полные символические имена и отладочные версии некоторых функций. Для заливки в телефон предназначены конфигурации ReleaseJZLIB и Release

Ответ 2.2: В параметрах конфигурации отключен обфускатор и/или не настроен в IDE вообще (бывает при некорректной замене Proguard 4.2 на 3.5). Необходимо убедиться, что в параметрах проекта Obfuscating Level = High, а в параметрах IDE (Tools→Libraries-Proguard Obfuscator) указан правильный путь к proguard.jar

Вопрос 3: Bombus шлет десятки статусных сообщений, зависает (SonyEricsson), не входит в конференции (Motorola EZX), либо как-то иначе странно себя ведёт

Ответ 3: Часто такие проблемы возникают из-за ошибок обфускатора proguard. Для Netbeans 5.5.1 и выше - необходимо просто заменить файл netbeans-XX/mobilityX/external/proguard.jar (где XX - номера релизов Netbeans и Mobility pack) на proguard.jar из proguard3.5.zip. В случае Netbeans 6.x - воспользоваться меню Tools→Libraries, и изменить путь к Proguard Obfuscator на правильный путь к proguard.jar версии 3.5

Вопрос 4: Как в NetBeans сделать кодировку UTF-8 по умолчанию?

Ответ 4:

Netbeans 5.x: Tools – Options – Advanced Options – Editing – Java Sources – Default Encoding: UTF-8

Netbeans 6.x: необходимо в файл конфигурации (Где его найти описано здесь) в строку netbeans_default_options дописать параметр -J-Dfile.encoding=UTF-8

Дополнительно о настройках Netbeans можно почитать тут

Вопрос 5: Почему Bombus не компилируется в NetBeans 6?

Ответ 5:

Index: build.xml
===================================================================
--- build.xml	(revision 1363)
+++ build.xml	(working copy)
@@ -118,7 +118,7 @@
     </target>
 
     <!-- version patch in manifest -->
-    <target name="pre-jar">
+    <target name="pre-jar" depends="create-jad"> <!--for netbeans 6 -->
 	<property file="resources/.version" />
 	<replace file="${build.dir}/manifest.mf"  
 	    token="$BOMBUSVERSION$"

P.S. build.xml в SVN уже содержит это исправление

Вопрос 6: Netbeans выдает ошибку (или просто ничего не делает) при попытке добавить MIDP-платформу, изменить список Ability в проекте, и т.п.

Ответ 6: Судя по этой ссылке, у старых версий Netbeans имеется ряд проблем со свежим JDK, потому при использовании старых версий Netbeans следует использовать JDK не новее чем JDK 6 Update 11, либо использовать актуальную версию Netbeans.

Отладка Bombus

В общем случае, Bombus можно отлаживать при помощи Netbeans и WTK-эмулятора. Но бывают специфичные для телефонов проблемы (обычно это свидетельствует о багах в java машинах), которые можно поймать только на этих устройствах.

WTK

Данные приложения (RMS)

В Netbeans кликните Tools → Java Planform Manager, выберите ваш WTK, перейдите на Tools & Extensions, нажмите Open Preferences, на вкладке Storage задайте имя папки в поле Storage Root Directory (для каждого приложения желательны разные папки во избежание конфликтов) и Heap Size не меньше 2000 kb. Физически RMS-файлы приложений хранятся тут: [wtk_home]/appdb/[Storage Root Directory]/

Доступ к файловой системе компьютера

В Netbeans кликните Tools → Java Planform Manager, выберите ваш WTK, перейдите на Tools & Extensions, нажмите Open Preferences, на вкладке Security выберите Security Domain: trusted. Поместите ваши файлы в [wtk_home]/appdb/[Storage Root Directory]/filesystem/ чтобы иметь к ним доступ из J2ME-приложения.

Сенсорный экран (TouchScreen)

Bombus поддерживает работу с сенсорным экраноном, активировать который в WTK можно, установив в файле конфигурации вашего устройства [wtk_home]/wtklib/devices/[your_favourite_device]/[your_favourite_device].properties
значение опции
touch_screen=true
Также будет полезно почитать руководство [wtk_home]/docs/BasicCustomizationGuide.pdf

Motorola

Информация для разработчиков под Motorola: http://developer.motorola.com/

Можно получить лог работы Bombus с помощью MidWay 2.8 (выдержка из руководства):

Debug information is provided in MIDway through the “Debug Log” tab. This log is especially useful when a midlet fails to load and reports an error such as “Application Error”. This log may be saved into a text file by using the “Log→Save Log As...” menu item.

Для получения лога в MidWay нужно в телефоне выполнить МенюПараметрыСредства JavaЗагрузка Java-приложения, подсоединить кабель, в MidWay указать порт, перейти на вкладку “Debug Log” и открыть Bombus.

Nokia

J2ME - одна из платформ для разработчика, активно развиваемых и поддерживаемых Nokia. Для отладки работы Bombus можно скачать Java SDK для конкретной модели телефона и получить очень приличную эмуляцию работы Bombus на этом телефоне, включая все ошибки. В состав SDK входит эмулятор, который можно запускать отдельно, либо интегрировать в Netbeans, дополнительные инструменты для запуска отладки прямо на телефоне (On Device Debug), документация по J2ME, включая многие расширения Nokia, примеры кода, и т.п.

Кроме того, Nokia предоставляет online-доступ к большому числу реальных устройств, на которых можно испытать работу приложения.

SonyEricsson

Sony Ericsson тоже достаточно хорошо документирует и предоставляет инструменты разработки. Существует SDK, который позволяет эмулировать телефоны SonyEricsson (кастомизированный WTK с поддержкой специфичных Sony-расширений), производить отладку мидлетов непосредственно на телефоне, имеет документацию и т.п.