在使用OkHttp Retrofit RxAndroid的过程中遇到了一些莫名的Bug。如下:
-
ArrayIndexOutOfBoundsException
Throwing new exception ‘length=6; index=7’ with unexpected pending exception:java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
解决办法:这个网上不少都是说取消勾选Instant Run,就每次运行都重新编译。但是这个功能在Android Studio3.5版本后废弃了。
我试了下这样并不能解决问题,然后发现是因为Retrofit、RxAndroid和adapter-rxjava的版本不匹配引起的。RxAndroid是3.0,原来的adapter-rxjava使用的版本是2。
更改后的依赖是这样的
// okHttp 3.14 implementation 'com.squareup.okhttp3:okhttp:3.14.9' // Retrofit 2.9 implementation 'com.squareup.retrofit2:retrofit:2.9.0' // Convert Google Json(Convert the result