IncompatibleClassChangeError:类’java.lang.VirtualMachineError’没有实现接口’java.lang.CharSequence’

我的代码有奇怪的问题,我无法解释发生的任何事情。 它是在棉花糖崩溃,但没有牛轧糖,这使得这更离奇。

我可以指向一个错误发生的地方,但是错误本身并不清楚。 我不知道什么是崩溃,以及如何防止它。 以下是详细信息:

当我尝试打电话给服务器时发生崩溃。 为此,我使用RxJava旁边的RxJava ,我在Kotlin中做这个。 这是我的代码:

 fun login(username: String, password: String, callback: Login.OnLoginListener) { RestClient.getInstance().service .loginUser( // ( if (success.status) callback.onLoginSuccess() else callback.onLoginError() ) }, { error -> GenericErrorHandler.handleError(error, callback.retrieveContext()) } ) } 

这里是logcat输出:

 java.lang.IncompatibleClassChangeError: Class 'java.lang.VirtualMachineError' does not implement interface 'java.lang.CharSequence' in call to 'java.lang.String java.lang.CharSequence.toString()' (declaration of 'java.lang.Throwable' appears in /system/framework/core-libart.jar) at fi.hohtolabs.kuuratablet.network.WebController$Companion.login(WebController.kt:19) at fi.hohtolabs.kuuratablet.presenter.LoginPresenter.login(LoginPresenter.kt:31) at fi.hohtolabs.kuuratablet.dialog.LoginDialog.lambda$onResume$2$LoginDialog(LoginDialog.java:74) at fi.hohtolabs.kuuratablet.dialog.LoginDialog$$Lambda$2.onClick(Unknown Source) at android.view.View.performClick(View.java:5198) at android.view.View$PerformClick.run(View.java:21147) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

有人对我应该做什么有什么建议吗? (我尝试清理,重建,重新启动和使缓存无效,删除.gradle文件夹和所有其他类似的东西,没有任何帮助)

问题只发生在Marshmellow设备上,后来是不同的。 后来我得到了ArrayIndexOutOfBoundsException ,最后发现问题是什么。

问题是我的库超过64K的方法,因为Instant Run打开,没有multidex错误,整个应用程序编译不好。