一、出现的情况
在eclipse或 android studio开发,
设置android SDK的编译版本为23时,且使用了httpClient相关类的库项目:如android-async-http等等,会出现有一些类找不到的错误。
二、原因
android 6.0(api 23) SDK,不再提供org.apache.http.*(只保留几个类).
三、解决方法
1.eclipse:
libs中加入
org.apache.http.legacy.jar
上面的jar包在:**\android-sdk-windows\platforms\android-23\optional下(需要下载android 6.0的SDK)
2.android studio:
在相应的module下的build.gradle中加入:
android { useLibrary 'org.apache.http.legacy' }
注意放置的位置:是在android {}中
即使我们使用的是Android 6,并且加入了以下useLibrary配置,也有可能出现如下编译错误:
" Unable to find optional library: org.apache.http.legacy"
解决办法:
1、看看目录E:\software\Android\sdk\platforms\android-23\optional 下有没有org.apache.http.legacy.jar 和 optional.json
2、如果没有optional.json,则自己新建一个这样的文件,然后加入如下内容: