Smack 4.2.1 api java.lang.NoSuchMethodError 在 class Lorg/jxmpp/util/cache/Cache

Smack 4.2.1 api java.lang.NoSuchMethodError in class Lorg/jxmpp/util/cache/Cache

在 Smack 4.2.1 中,使用 jxmpp-core-0.5.0-alpha7.jar lib 我有以下问题

com.deep.tasktowerchat fatal error : No interface method lookup(Ljava/lang/Object;)Ljava/lang/Object; in class Lorg/jxmpp/util/cache/Cache; or its super classes (declaration of 'org.jxmpp.util.cache.Cache' appears in /data/app/com.deep.tasktowerchat-1/base.apk)
    java.lang.NoSuchMethodError: No interface method lookup(Ljava/lang/Object;)Ljava/lang/Object; in class Lorg/jxmpp/util/cache/Cache; or its super classes (declaration of 'org.jxmpp.util.cache.Cache' appears in /data/app/com.deep.tasktowerchat-1/base.apk)
     at org.jivesoftware.smack.sasl.core.ScramMechanism.evaluateChallenge(ScramMechanism.java:179)
     at org.jivesoftware.smack.sasl.SASLMechanism.challengeReceived(SASLMechanism.java:245)
     at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication.java:253)
     at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication.java:237)
     at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1091)
     at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access0(XMPPTCPConnection.java:982)
     at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.run(XMPPTCPConnection.java:998)
     at java.lang.Thread.run(Thread.java:818)

当我在我的项目中使用 smack-android-4.2.0-beta3-SNAPSHOT.jar lib 时它工作正常但在更改 smack lib 版本后它会抛出上述错误。 是 smack 还是 jxmpp 库版本问题?

您需要在您的应用中添加以下具有相同版本代码的库。您可以下载 here 以获得更多存储库和 jar 文件

 jxmpp-core-0.5.0.jar
 jxmpp-jid-0.5.0.jar
 jxmpp-stringprep-libidn-0.5.0.jar
 jxmpp-util-cache-0.5.0.jar

然后重建并清理您的项目。我希望它会起作用。