gpt4 book ai didi

java - IncompatibleClassChangeError : Class 'java.lang.VirtualMachineError' does not implement interface 'java.lang.CharSequence'

转载 作者:太空狗 更新时间:2023-10-29 16:27:19 29 4
gpt4 key购买 nike

我的代码出现了奇怪的问题,我无法解释发生的任何事情。它在 Marshmallow 上崩溃,但在 Nougat 上没有崩溃,这使得这更奇怪。

我可以指向发生错误的行,但错误本身并不清楚。我不确定是什么崩溃以及如何防止崩溃。以下是详细信息:

当我尝试调用服务器时发生崩溃。为此,我将 RetrofitRxJava 一起使用,并在 Kotlin 中执行此操作。这是我的代码:

fun login(username: String, password: String, callback: Login.OnLoginListener) {
RestClient.getInstance().service
.loginUser( //<- This line is crashing for no apparent reason
Utils.RequestBodyParser.parseString(username),
Utils.RequestBodyParser.parseString(password)
)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ success ->
(
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 错误,整个应用程序编译得不好。

关于java - IncompatibleClassChangeError : Class 'java.lang.VirtualMachineError' does not implement interface 'java.lang.CharSequence' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47634407/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com