我们以前的Android项目网络框架是基于Volley和OKHttp2。现在由于Aliyun SDK升级和整合React Native模块的原因,它们现在都是用了OkHttp3,因此需要统一升级到最新稳定版本OkHttp3.3。
参考了网上的一些资料,主要是有下面几个问题:首先是'org.apache.http'在Android6.0版本已经去掉了,因此需要用'org.apache.http.legacy'代替下。
OkHttp3Stack是参考了下面的Gist代码实现的,评论里面说不支持https。但是我实际测试过是支持https和http2的。
https://gist.github.com/alashow/c96c09320899e4caa06b
在app/gradle.settings的android块增加下面代码
useLibrary 'org.apache.http.legacy'
另外一种方法是不再使用org.apache.http相关的类,参考http://blog.csdn.net/qq_28656671/article/details/50608239
最后提醒一下,Volley框架现在已经不再升级了,后面的新项目不建议使用了,推荐使用基于Retrofit和OkHttp3的请求框架,老项目升级成本有点高,就不折腾了。
网友评论