关于新版Android SDK(23)不支持21版本的HttpClient

有时候真的能折腾死人...前几天建立了个新工程,想做个post连网获取数据,结果发现HttpClient这个类怎么都找不到了

什么情况...import也找不到...仔细看了下,这个类应该是org.apache.http.client.HttpClient包中,但是我之前的项目也没额外引入这个包呀,那么这个包应该在SDK中存在的

然而并不能找到...

仔细对比了之前的工程和新工程,结果发现也就sdk版本使用的不一样,之前那个工程是android-21,因为更新了Android Studio和Android SDK所以新创建的工程是Android-23的

果然是这货的锅吧?(╯‵□′)╯︵┻━┻

之后去查了下,org.apache.http.client.HttpClient这个包果然集成在了android-21的SDK中,但是23版本的没有......

次奥...然而我并不能去改sdk版本,会出很大耦合性的口牙

解决方案

折腾了好久,包括去手动导入阿帕奇的HttpClient的jar包,但是依然存在我们代码中使用的其他东西,诸如BasicNameValuePair之类的不存在,一个一个导入太麻烦了啊...

所以说其实还是有简单的办法了,这个类不能使用的原因是————过期了...不推荐使用了

我们还要使用怎么办?

解,进入build.gradle(Module:app),在android {...}的大括号内加入

useLibrary 'org.apache.http.legacy'

一行即可。

再次掀桌(╯‵□′)╯︵┻━┻


有兴趣的朋友还可以前往我的Github 查看更多我的开源项目

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,366评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,399评论 19 139
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,673评论 2 45
  • 落红不是无情物,化作春泥更护花。虽然自然失去了红花,但它会得到一个正在孕育中的花蕾。我们赤裸裸的来,也会赤裸裸的去...
    yers阅读 2,675评论 0 0
  • 出国留学三年半, 马上就要完成大学的学业了。 突然想写写我的大学。想来想去也没想到什么好题目,结果就借用了这个题目...
    小鹿_LS阅读 1,833评论 1 4