В чем разница между Smack и aSmack?

Я не могу использовать Smack на Android, тогда как aSmack работает отлично? Сравнивая исходный код, он выглядит несколько схожим, в чем разница?

В чем разница между Smack и aSmack?

Ответы

Ответ 1

Smack < 4.1 не работает на Android, в основном из-за отсутствия API на Android (например, большинство API-интерфейсов javax). Вот почему родилась среда сборки aSmack. Это способ модифицировать Smack, чтобы его можно было использовать на Android.

Помимо многих незначительных изменений самые большие изменения:

  • Отключение методов аутентификации XMPP SASL, которые не поддерживаются на Android
  • Использование гармонии apache для SASL вместо API javax

Обязательно прочитайте README и запустите соответствующий код перед выполнением любых связанных с XMPP действий.

Более подробную информацию можно найти @https://github.com/Flowdalic/asmack/wiki/Modifications

Ответ 2

Как указано в описании проекта, ASmack добавляет набор исправлений к регулярному Smack. Подробнее см. .

С уважением.

Ответ 3

Вы можете видеть, как делаются в talkmyphone. Я думаю, что они используют smack с Android.

Ответ 4

Он изменяет Smack, чтобы он мог работать на Android.

Я не уверен, что эти изменения, за исключением изменения механизма ProviderManager, чтобы он мог загрузить XML файл smack.providers из дружественной Android-директории. По умолчанию Smack загружает это из своего собственного каталога ресурсов, который недоступен в Android.