为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayIndexOutOfBoundsException - 改造 2.4.0 调用

ArrayIndexOutOfBoundsException - 改造 2.4.0 调用

紫衣仙女 2021-09-12 20:22:47
我正在尝试POST使用retrofit. 它在某些设备上运行良好,但在操作系统版本为 的Nexus 5上崩溃6.0.1。但现在我面临一个例外art/runtime/thread.cc:1344] 抛出新的异常 'length=1903; index=3147' 出现意外未决异常:java.lang.ArrayIndexOutOfBoundsException:length=1903;指数=3147我知道 SO 上有很多问题但没有什么对我有帮助。我按照给定的帖子尝试了所有内容,例如这个、这个和这个等等。有些人通过禁用Instant Run解决了这个问题。但这对我不起作用。我正在使用这些依赖项进行改造:implementation 'com.squareup.retrofit2:retrofit:2.4.0'implementation 'com.squareup.okhttp3:okhttp:3.10.0'implementation 'com.squareup.retrofit2:converter-gson:2.4.0'这是我的项目级 gradle 文件:classpath 'com.android.tools.build:gradle:3.1.4'classpath 'com.google.gms:google-services:4.0.1'这是我得到的 API 调用 ArrayIndexOutOfBoundsExceptionAPIClient.getAPIService().getEffects(Constants.apiKey).enqueue(//callback);这是我的 API 接口,其中调用已声明:@FormUrlEncoded@POST("/getEffects")Call<GetEffectResp> getEffects(@Field("apikey") String apikey);如果有人解决了这个问题,请帮我弄清楚。
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

我也遇到过同样的问题。在我的情况下,我使用JsonElement而不是Pojo 类来解决它。


下面是回调。你可以试试看...


APIClient.getAPIService().getEffectsInternal(Constants.apiKey).enqueue(new Callback<JsonElement>() {

                @Override

                public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {


                   Log.e("",""+response.body());



                }


                @Override

                public void onFailure(Call<JsonElement> call, Throwable t) {


                }

            });


查看完整回答
反对 回复 2021-09-12
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信