Smack XMPP android连接崩溃

时间:2017-09-15 10:33:13

标签: java android xmpp smack

我正在使用Smack XMPP作为Android应用程序以前每件事情都非常流畅,除了今天早上它开始无缘无故崩溃。 以下是我在Gradle中的内容:

compile 'org.igniterealtime.smack:smack-android:4.2.0'
compile 'org.igniterealtime.smack:smack-tcp:4.2.0'
compile 'org.igniterealtime.smack:smack-android-extensions:4.2.0' 

并且日志正在打印此错误

  

java.lang.ExceptionInInitializerError                                                                     at de.measite.minidns.DNSName.from(DNSName.java:287)                                                                     在de.measite.minidns.dnssec.DNSSECClient。(DNSSECClient.java:48)                                                                     在de.measite.minidns.hla.DnssecResolverApi。(DnssecResolverApi.java:47)                                                                     在de.measite.minidns.hla.DnssecResolverApi。(DnssecResolverApi.java:38)                                                                     在de.measite.minidns.hla.DnssecResolverApi。(DnssecResolverApi.java:31)                                                                     在org.jivesoftware.smack.util.dns.minidns.MiniDnsResolver。(MiniDnsResolver.java:54)                                                                     at java.lang.Class.classForName(Native Method)                                                                     at java.lang.Class.forName(Class.java:324)                                                                     在org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:218)           private static final DNSName DEFAULT_DLV = DNSName.from(“dlv.isc.org”);

在这一行

  XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration
                .builder();

我搜索了很多但找不到任何东西。

由于

2 个答案:

答案 0 :(得分:5)

嗨,我也遇到了这个问题。

问题来自一个依赖于“de.measite.minidns”的依赖项,它推送了一个带有bug的更新。所以我通过排除自动依赖并包括最后一个稳定版本来修复它。它解决了我的问题。希望它对你们有用

    compile ('org.igniterealtime.smack:smack-android:4.2.0') {
      exclude  group:'de.measite.minidns'
    }
    compile ('org.igniterealtime.smack:smack-tcp:4.2.0') {
      exclude  group:'de.measite.minidns'
    }
    compile group: 'de.measite.minidns', name: 'minidns-hla', version: 
    '0.2.2'

答案 1 :(得分:1)

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
//open due to the need to get offline messages
compile 'org.igniterealtime.smack:smack-extensions:4.2.0'
compile 'org.igniterealtime.smack:smack-im:4.2.0'

compile  ('org.igniterealtime.smack:smack-android:4.2.0') {
    exclude  group:'de.measite.minidns'
}


compile 'org.igniterealtime.smack:smack-experimental:4.2.0'

// Optional for XMPPTCPConnection
compile ('org.igniterealtime.smack:smack-tcp:4.2.0') {
    exclude  group:'de.measite.minidns'
}

compile group: 'de.measite.minidns', name: 'minidns-hla', version:
        '0.2.2'
}