【问题标题】:Android Smack chat clientAndroid Smack 聊天客户端
【发布时间】:2011-12-05 21:59:59
【问题描述】:

嗨朋友们,我正在使用从以下网址下载的 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)

谁能帮忙...

【问题讨论】:

    标签: android smack


    【解决方案1】:

    Smack 不适用于开箱即用的 android,您可能需要使用 aSmack (http://code.google.com/p/asmack/),它是用于 Android 的 smack 端口。

    【讨论】:

    • 嗨 Fredszaq 我在谷歌上搜索了 4 天,找不到 asamck 的文档以及一个血统示例,您能否提供链接。
    【解决方案2】:

    不能在 Android 上使用 Smack 4 之前的原版 Smack。看看"Android and XMPP: Currently available solutions"

    【讨论】:

    • 嗨 Flow 我使用相同的链接来开发应用程序你提到它使用 smack lib 你能建议我如何解决这个问题还有其他可用的 lib
    • 对不起,这应该是“你不能使用香草味”。我建议在谷歌上搜索已经在 android 上使用 xmpp 的各种开源应用程序,并向他们学习如何在 android 上使用 asmack。在 android 市场上搜索“xmpp”可能是一个好的开始。
    • 我也更新了我的answer
    【解决方案3】:

    最后我得到了具体的实现

    任何想要开发聊天客户端的人都可以按照下面提到的步骤进行操作。

    转到链接

    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....

    【讨论】:

    • 你能详细说明一下吗
    【解决方案4】:

    使用依赖项在你的 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'
    

    【讨论】:

      猜你喜欢
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      相关资源
      最近更新 更多