aSmack Android 文档和调试
Posted
技术标签:
【中文标题】aSmack Android 文档和调试【英文标题】:aSmack Android documentation and debugging 【发布时间】:2014-05-26 09:39:29 【问题描述】:ASmack 库参考http://www.igniterealtime.org/builds/smack/docs/latest/documentation/index.html 的文档 我认为它已经过时并且没有提供准确的信息。示例如下: - 调试:
XMPPConnection.DEBUG_ENABLED = true;
-- 即使在最新的自述文件中,它也不起作用:
XMPPConnection.DEBUG
这不起作用。 - 此外,ChatManager:第一个(在文档中)不起作用,谷歌搜索后第二个......
ChatManager chatmanager = connection.getChatManager();
ChatManager chatmanager = ChatManager.getInstanceFor(connection);
那么我如何启用详细调试,因为这是我使用文档中的基本示例在 log cat 中得到的:
05-26 11:15:11.237 4633-4633/com.ex.myapplication4.app W/System.err﹕ org.jivesoftware.smack.SmackException$ConnectionException
05-26 11:15:11.237 4633-4633/com.ex.myapplication4.app W/System.err﹕ at org.jivesoftware.smack.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:455)
05-26 11:15:11.237 4633-4633/com.ex.myapplication4.app W/System.err﹕ at org.jivesoftware.smack.XMPPTCPConnection.connect(XMPPTCPConnection.java:865)
在哪里可以找到适用于最新版本 (a)Smack 4.0.0-rc2 的可靠文档或教程?
【问题讨论】:
我和你有同样的问题。今天你知道我们在哪里可以了解 asmack 4 吗? 一种可能性是使用 asmack-android-7-beem-jingle.jar,它已被广泛恢复,并且与我的实现配合得很好。 直到 asmack 团队发布 asmack 4 文档,我决定继续使用 asmack-android-9-0.8.9 版本。很遗憾,但我们无能为力...... 让我们做点什么吧!请给我们一份文件!一个群众文档,我们拥有的这种方式可以根据我们自己的经验构建。 【参考方案1】:它没有回答你的问题。
但是我被困在了相同的地方(使用 aSmack 4.0 - asmack-android-8-4.0.0.jar):
06-17 13:42:22.466: W/System.err(16848): org.jivesoftware.smack.SmackException$ConnectionException
06-17 13:42:22.466: W/System.err(16848): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:431)
06-17 13:42:22.467: W/System.err(16848): at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:799)
06-17 13:42:22.467: W/System.err(16848): at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:391)
我发现了问题所在(如果您想了解详细信息,请询问)。
您的连接是否在主线程上运行?我解决了这个问题,将代码放在AsyncTask
、doInBackground
方法上。
【讨论】:
我不使用 Smack 4.0,我使用 Smack asmack-android-7-beem-jingle.jar 并且在很大程度上它正在发挥作用。 您可以通过以下方式获取详细的调试信息: ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT); connConfig.setDebuggerEnabled(true);【参考方案2】:我在 Android 上使用 asmack-android-7-beem-jingle.jar 用于 XMPP 消息,它工作得很好。 我为我使用的代码创建了一个要点:https://gist.github.com/aselims/92da8b2ad3692fdec699 我希望这会有所帮助!
【讨论】:
那个罐子已经 3 年了。使用的 Smack 版本包含安全漏洞。我建议不要使用它。 我同意,但它可以用于测试目的,因为最新的 smack 没有适当的文档。 我对“最新的 smack 没有适当的文档”提出异议。如果您在文档中发现错误,请参阅 igniterealtime.org/builds/smack/docs/latest/documentation,然后您应该在 Smack 用户论坛中报告这些错误:community.igniterealtime.org/welcome 我相信开发人员会对每个报告感到高兴。以上是关于aSmack Android 文档和调试的主要内容,如果未能解决你的问题,请参考以下文章
aSmack - 使用数据包侦听器输出可空元素的数据包到 XML
无法在 Android 上使用 asmack 登录 Facebook
无法使用 android 的 asmack 库登录 google talk