今天有个商户投诉app在4.4版本闪退,我自己试了下,日志如下:
咋一看,是OkHttp3不兼容4.4版本的系统,去Okhttp官网看了相关的文档,说3.13.0之后不支持Android 5.0以下系统。当时我的想法就是使用旧版本,然后就把版本降低到3.12.12,编译运行,报错如下:
一看就知道版本冲突了,但是项目使用这么多第三个的依赖库,如何分析是哪些依赖库使用了高版本的OkHttp3呢?
经过度娘的帮助,终于用了如下命令解决了我的问题:
./gradlew -q app:dependencies
执行命令后终端就打印出如下信息,经过搜索发下有几个地方依赖了高版本的Okhttp3,如下:
最终通过依赖和排除的方法解决了问题:
implementation ('com.squareup.retrofit2:converter-gson:2.9.0'){
exclude group:'com.squareup.okhttp3'
}
compileOnly ('com.squareup.retrofit2:retrofit:2.9.0'){
exclude group:'com.squareup.okhttp3'
}