Retrofit2低版本兼容问题

时间:2021-7-21 作者:qvyue

我项目依赖的版本,测试机是Android 7.0 的设备,一切正常

    implementation 'com.squareup.retrofit2:retrofit-converters:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

然而,我们采购回来的设备居然是Android 4.4的(这年头居然有这么低的版本),一请求http就报错了,trycatch都不好使,原因是当前版本的okhttp只支持5.0以上的设备,原因找到了,那就好办了,把okhttp版本降低就可以了(网上说3.13以下就可以了),所以我的依赖是这样的

    implementation 'com.squareup.okhttp3:okhttp:3.12.0'
    implementation 'com.squareup.retrofit2:retrofit-converters:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

然后测试还是以报错,原来我加载的还是1.13以上的版本,原因是retrofit2里也依赖的okhttp,而android死丢丢中解决依赖冲突的办法是取版本最高的

Retrofit2低版本兼容问题

然后又去降低retrofit2的版本,直接来了个2.0.2

    implementation 'com.squareup.retrofit2:retrofit:2.0.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.0.2'

这下好了,终于不报版本兼容问题了,但是协成又用不了了,-_-||真烦…
然后看了下retrofit对协成的支持是从2.6开始的,所以有改成了这样

    implementation 'com.squareup.retrofit2:retrofit:2.6.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.6.0'

最终测试,该版本既可以正常兼容Android 5.0以下版本,同时有可以使用协成

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。