今天在6.0上调试的时候,发现应用直接 Crash 了,而在4.4上面是没有问题的,下图是控制台显示的异常信息:
首先 Google 了一下第一个异常,也就是 “Unable to create converter for class…”,发现这是出现这个问题的情况,一是Retrofit2.0的baseUrl必须以”/“结束,而在接口中,注解内不需要以”/“开始;二是没有添加Converter,如果使用Gson,则添加
1 | .addConverterFactory(GsonConverterFactory.create()) |
这两个我都设置了,所以应该不是第一个异常导致的。
再看第二个异常,Can’t make field constructor accessable
在 Gson 的issue中有关于这个问题的讨论,多数出问题都是 Gson+Retrofit+ActiveAndroid ,解决办法是为GsonConverterFactory添加自定义的Gson并为其设置
1 | .excludeFieldsWithModifiers(Modifier.FINAL, Modifier.TRANSIENT, Modifier.STATIC) |
Jaked大神说了出现这个问题的原因: