В чем разница между 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.