更新到Android Studio 4.1时出现java.lang.AssertionError

问题描述

我正面临图书馆打ack的问题。当我将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之前,代码没有错误,也没有崩溃。这仅在我更新Studio和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中有一个断言调用

当我调用此函数时,我崩溃了,上面的堆栈跟踪记录显示在日志中。有人知道这里会发生什么吗? Android Studio版本:4.1 gradle 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'

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)