您好我使用从以下网址下载的Smack3.2.1.jar
http://www.igniterealtime.org/downloads/index.jsp
我将jar添加到我的构建路径但是当我运行应用程序时,我得到以下错误日志
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): FATAL EXCEPTION: main
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): java.lang.VerifyError: org.jivesoftware.smack.sasl.SASLMechanism
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at java.lang.Class.getDeclaredConstructors(Native Method)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at java.lang.Class.getConstructor(Class.java:477)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:314)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at org.jivesoftware.smack.Connection.login(Connection.java:348)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at org.apache.android.xmpp.SettingsDialog.onClick(SettingsDialog.java:54)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.view.View.performClick(View.java:2408)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.view.View$PerformClick.run(View.java:8816)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.os.Handler.handleCallback(Handler.java:587)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.os.Looper.loop(Looper.java:123)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at java.lang.reflect.Method.invoke(Method.java:521)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-12 13:11:59.464: ERROR/AndroidRuntime(1957): at dalvik.system.NativeStart.main(Native Method)
任何人都可以帮忙......
答案 0 :(得分:4)
Smack不能在开箱即用的Android上运行,你可能想要使用一个思科(http://code.google.com/p/asmack/),它是Android的一个端口。
答案 1 :(得分:4)
最后我得到了具体实现
任何想要开发聊天客户端的人都会按照下面提到的步骤进行操作。
转到链接
http://www.beem-project.com/projects/beem/files
下载
asmack-android-7-source-beem.zip
现在根据您的要求修改此来源。
你会发现lib asmack-android-7-beem.jar来获取这个lib的javadoc和javadoc for smack一样,我所做的如下。
从以下链接下载源码smack-3.2.1
http://www.igniterealtime.org/downloads/index.jsp
当您解压缩jar时,您将获得名为javadoc的文件夹,现在只需将此文件夹附加到asmack-android-7-beem.jar,方法是转到项目的属性。
Hip Hip Hurray ....
答案 2 :(得分:3)
你在Android上无法使用先前的Smack 4 上的vanilla Smack。看看"Android and XMPP: Currently available solutions"
答案 3 :(得分:0)
使用依赖项在build.gradle中注入此内容
compile 'org.igniterealtime.smack:smack-android:4.1.6'
compile 'org.igniterealtime.smack:smack-tcp:4.1.6'
compile 'org.igniterealtime.smack:smack-im:4.1.6'
compile 'org.igniterealtime.smack:smack-extensions:4.1.6'