我无法在 Android上使用Smack ,而aSmack可以完美运行?比较源代码时看起来有些相似,差异来自哪里?
Smack 和 aSmack 有什么区别?
Smack < 4.1 在 Android 上不起作用,主要是因为 Android 上缺少 API(例如大多数 javax API)。这就是 aSmack 构建环境诞生的原因。这是一种修改 Smack 使其可以在 Android 上使用的方法。
除了许多微小的变化外,最大的变化是
在执行任何 XMPP 相关操作之前,请务必阅读自述文件并初始化相关代码。
更多信息可以在@https ://github.com/Flowdalic/asmack/wiki/Modifications找到
正如项目描述所述,ASmack 为常规 Smack 添加了一组补丁。检查此对话以获取更多详细信息。
问候。
您可以在talkmyphone中看到事情是如何完成的。我认为他们正在使用带有 android 的 smack。
它修改了 Smack 以允许它在 Android 上运行。
我不确定这些更改是什么,除了更改 ProviderManager 机制以便它可以从 Android 友好目录加载 smack.providers XML 文件。默认情况下,Smack 从它自己的资源目录中加载它,这在 Android 中是无法访问的。