【发布时间】:2020-10-19 08:08:15
【问题描述】:
我正面临图书馆 smack 的问题。当我将 Android Studio 更新到 4.1 并将 Gradle 更新到 6.5 时,我遇到了如下异常
Caused by: java.lang.AssertionError
at org.jivesoftware.smack.AbstractXMPPConnection.sendStanza(AbstractXMPPConnection.java:686)
at com.app.modules.rnxmpp.service.XmppServiceSmackImpl.sendStanza(XmppServiceSmackImpl.java:713)
at com.app.modules.rnxmpp.RNXMPPModule.sendStanza(RNXMPPModule.java:189)
在 4.1 和 Gradle 6.0.1 之前,代码没有错误,也没有任何崩溃。这只发生在我更新工作室和 Gradle 时。
错误是由 smack 库中的代码引起的
//org.jivesoftware.smack.AbstractXMPPConnection
@Override
public void sendStanza(Stanza stanza) throws NotConnectedException, InterruptedException {
Objects.requireNonNull(stanza, "Stanza must not be null");
assert (stanza instanceof Message || stanza instanceof Presence || stanza instanceof IQ);
throwNotConnectedExceptionIfAppropriate();
switch (fromMode) {
case OMITTED:
stanza.setFrom((Jid) null);
break;
case USER:
stanza.setFrom(getUser());
break;
case UNCHANGED:
default:
break;
}
// Invoke interceptors for the new stanza that is about to be sent. Interceptors may modify
// the content of the stanza.
firePacketInterceptors(stanza);
sendStanzaInternal(stanza);
}
在名为AbstractXMPPConnection的库文件中有一个断言调用
当我调用这个函数时,我遇到了崩溃,上面的堆栈跟踪显示在日志上。有谁知道这里发生了什么? 安卓工作室版本:4.1 毕业 https://services.gradle.org/distributions/gradle-6.5-bin.zip //smack 库
implementation "org.igniterealtime.smack:smack-android-extensions:4.3.0"
implementation "org.igniterealtime.smack:smack-tcp:4.3.0"
implementation "org.igniterealtime.smack:smack-extensions:4.3.0"
implementation 'org.igniterealtime.smack:smack-sasl-provided:4.1.9'
【问题讨论】:
-
错误解决了吗?
-
没有。我现在正在使用 Gradle-6.1.1。如果我更改为 6.5 则会出现此错误
标签: android android-studio gradle smack