如何在Android应用程序中实现XMPP聊天?

时间:2014-05-07 02:33:27

标签: java android xmpp openfire smack

我尝试使用Smack库,但我得到的是:

05-07 04:28:43.299    2958-2958/g.d.allinonechat E/dalvikvm﹕ Could not find class 'javax.naming.directory.InitialDirContext', referenced from method org.jivesoftware.smack.util.dns.JavaxResolver.<clinit>

通过搜索谷歌我发现,谷歌不会让一些JRE课程在Android上工作,所以......这里没什么可做的

试过aSmack,我正在使用windows,尝试在Linux Ubuntu上编译它,但它不会编译

./build.bash line 142 /root/Desktop/asmack-master/version-tags/4.0.0-rc2-SNAPSHOT-2014-04-27.tag: No such file or directory

该文件不存在,但我尝试下载压缩文件两次,它不在那里也不是动态生成的。

我可以使用其他库来连接我的Openfire服务器吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

关于你自己的aSmack的构建;我在构建脚本中遇到了完全相同的问题。

我发现目录releasesversion-tags丢失了。在您的配置中,我建议执行:

mkdir -p /root/Desktop/asmack-master/version-tags/
mkdir -p /root/Desktop/asmack-master/releases/
cd /root/Desktop/asmack-master/build.bash
./build.bash

另外,请不要忘记为local.properties创建ant文件,以便构建最终jar

cp /root/Desktop/asmack-master/local.properties{.example,}

需要在local.properties中设置Android-SDK的路径。在我的环境中,它看起来像这样:

sdk-location=${user.home}/android-sdk-linux/

然后,您可以在jar目录中找到最终的releases

另一种方法是将已预先构建的jar aSmack http://asmack.freakempire.de/用作aSmack GitHub page suggests

编辑:aSmack项目中已修复了现有目录的问题。构建脚本将创建它们以防它们丢失。