在线等,急。smack4.14 android连接openfire服务器

1.引用的包
jxmpp-core-0.5.0-alpha6.jar
jxmpp-jid-0.5.0-alpha6.jar
jxmpp-stringprep-libidn-0.5.0-alpha6.jar
jxmpp-util-cache-0.5.0-alpha6.jar
smack-android-4.1.4.jar
smack-bosh-4.1.4.jar
smack-compression-jzlib-4.1.4.jar
smack-core-4.1.4.jar
smack-debug-4.1.4.jar
smack-experimental-4.1.4.jar
smack-extensions-4.1.4.jar
smack-im-4.1.4.jar
smack-legacy-4.1.4.jar
smack-resolver-dnsjava-4.1.4.jar
smack-resolver-javax-4.1.4.jar
smack-resolver-minidns-4.1.4.jar
smack-sasl-javax-4.1.4.jar
smack-tcp-4.1.4.jar
下面是调用代码

  class ConnectTask extends AsyncTask<String,Integer,Integer>{
        @Override
        protected Integer doInBackground(String... params) {
            //SASLAuthentication.registerSASLMechanism(new SASLPlainMechanism());
            //SASLAuthentication.registerSASLMechanism(new SASLDigestMD5Mechanism());
            //SASLAuthentication.registerSASLMechanism(new SASLExternalMechanism());
            //SASLAuthentication.registerSASLMechanism(new SASLCramMD5Mechanism());
            //SASLAuthentication.registerSASLMechanism(new SASLGSSAPIMechanism());
            XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder(); //这里出错
            config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
            config.setCompressionEnabled(false);
            config.setDebuggerEnabled(false);
            config.setSendPresence(false);
            config.setUsernameAndPassword("chqing", "123456");
            config.setServiceName("WIN-8PMUUE8PT7S");
            config.setHost("192.168.0.142");
            config.setPort(5222);

            AbstractXMPPConnection connection = new XMPPTCPConnection(config.build());
           // SASLAuthentication.registerSASLMechanism(new SASL);
            try {
                connection.connect();
                System.out.println("连接成功.");
                connection.login();
            } catch (SmackException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (XMPPException e) {
                e.printStackTrace();
            }
            return 0;
        }

在连接的时候出现如下错误。

10-20 23:56:31.939    8024-8070/com.chqing.testasmack W/dalvikvm﹕ Exception Ljava/lang/VerifyError; thrown while initializing Lorg/jivesoftware/smack/SmackInitialization;
10-20 23:56:31.939    8024-8070/com.chqing.testasmack W/dalvikvm﹕ Exception Ljava/lang/VerifyError; thrown while initializing Lorg/jivesoftware/smack/ConnectionConfiguration;
10-20 23:56:31.949    8024-8070/com.chqing.testasmack W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0xb47ad678)
10-20 23:56:31.949    8024-8070/com.chqing.testasmack E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:299)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
            at java.util.concurrent.FutureTask.run(FutureTask.java:239)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.VerifyError: org/jivesoftware/smack/sasl/javax/SASLJavaXMechanism
            at org.jivesoftware.smack.sasl.javax.SASLJavaXSmackInitializer.initialize(SASLJavaXSmackInitializer.java:28)
            at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:232)
            at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193)
            at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163)
            at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148)
            at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116)
            at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)
            at org.jivesoftware.smack.ConnectionConfiguration.<clinit>(ConnectionConfiguration.java:38)
            at com.chqing.testasmack.MainActivity$ConnectTask.doInBackground(MainActivity.java:68)
            at com.chqing.testasmack.MainActivity$ConnectTask.doInBackground(MainActivity.java:60)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
????????????at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
????????????at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
????????????at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
????????????at java.lang.Thread.run(Thread.java:841)


一开始我是没有添加smack-sasl-javax-4.1.4.jar包,这个时候可以连接成功,但是在登录时connection.login();出现下面错误


10-21 02:03:51.214  31329-31387/com.chqing.testasmack I/dalvikvm﹕ Failed resolving Lorg/jivesoftware/smack/util/dns/minidns/MiniDnsResolver$1; interface 1814 'Lde/measite/minidns/DNSCache;'
10-21 02:03:51.214  31329-31387/com.chqing.testasmack W/dalvikvm﹕ Link of class 'Lorg/jivesoftware/smack/util/dns/minidns/MiniDnsResolver$1;' failed
10-21 02:03:51.214  31329-31387/com.chqing.testasmack D/dalvikvm﹕ DexOpt: unable to opt direct call 0x471d at 0x07 in Lorg/jivesoftware/smack/util/dns/minidns/MiniDnsResolver;.<init>
10-21 02:03:51.214  31329-31387/com.chqing.testasmack D/dalvikvm﹕ DexOpt: unable to opt direct call 0x3a03 at 0x0a in Lorg/jivesoftware/smack/util/dns/minidns/MiniDnsResolver;.<init>
10-21 02:03:51.214  31329-31387/com.chqing.testasmack W/dalvikvm﹕ Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lorg/jivesoftware/smack/util/dns/minidns/MiniDnsResolver;
10-21 02:03:51.214  31329-31387/com.chqing.testasmack E/dalvikvm﹕ Could not find class 'org.xbill.DNS.Lookup', referenced from method org.jivesoftware.smack.util.dns.dnsjava.DNSJavaResolver.lookupSRVRecords
10-21 02:03:51.214  31329-31387/com.chqing.testasmack W/dalvikvm﹕ VFY: unable to resolve new-instance 3411 (Lorg/xbill/DNS/Lookup;) in Lorg/jivesoftware/smack/util/dns/dnsjava/DNSJavaResolver;
10-21 02:03:51.214  31329-31387/com.chqing.testasmack D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0005
10-21 02:03:51.214  31329-31387/com.chqing.testasmack D/dalvikvm﹕ DexOpt: unable to opt direct call 0x5e3c at 0x09 in Lorg/jivesoftware/smack/util/dns/dnsjava/DNSJavaResolver;.lookupSRVRecords
10-21 02:03:51.224  31329-31387/com.chqing.testasmack D/dalvikvm﹕ GC_FOR_ALLOC freed 359K, 13% free 3262K/3708K, paused 4ms, total 4ms
10-21 02:03:51.264  31329-31387/com.chqing.testasmack D/dalvikvm﹕ GC_FOR_ALLOC freed 393K, 14% free 3330K/3852K, paused 2ms, total 3ms
10-21 02:03:51.294  31329-31387/com.chqing.testasmack D/dalvikvm﹕ GC_FOR_ALLOC freed 404K, 14% free 3404K/3928K, paused 3ms, total 3ms
10-21 02:03:51.484  31329-31387/com.chqing.testasmack I/System.out﹕ 连接成功.
10-21 02:03:51.484  31329-31387/com.chqing.testasmack W/System.err﹕ org.jivesoftware.smack.SmackException: SASL Authentication failed. No known authentication mechanisims.
10-21 02:03:51.484  31329-31387/com.chqing.testasmack W/System.err﹕ at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:254)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginNonAnonymously(XMPPTCPConnection.java:374)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:457)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:415)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at com.chqing.testasmack.MainActivity$ConnectTask.doInBackground(MainActivity.java:83)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at com.chqing.testasmack.MainActivity$ConnectTask.doInBackground(MainActivity.java:60)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-21 02:03:51.494  31329-31387/com.chqing.testasmack W/System.err﹕ at java.lang.Thread.run(Thread.java:841)


请大神帮忙看看怎么搞,我自己是第一次使用smack。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值