2017-12-04 20 views
0

私のコードで奇妙な問題が発生しており、何か起こっていることを説明できません。それはマシュマロではなく、これをより奇妙にするノーガットではクラッシュしている。IncompatibleClassChangeError:クラス 'java.lang.VirtualMachineError'がインターフェイス 'java.lang.CharSequence'を実装していません

エラーが発生する行を指すことはできますが、エラー自体は明確ではありません。私は何がクラッシュしているのか、それを防ぐ方法はわかりません。ここに詳細があります:

サーバーに電話をかけようとするとクラッシュします。これを行うには、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フォルダの削除、それ以外のものは何も役に立ちません)

答えて

0

問題はMarshmellowデバイスでのみ発生し、後で別のものでした。後で私はArrayIndexOutOfBoundsExceptionを得て、最終的に問題が何かを知りました。

問題は、ライブラリが64Kを超えていて、​​がオンであったため、エラーがなく、アプリケーション全体がうまくコンパイルされなかったことです。

関連する問題