因为在android 6.0(API 23)中,Google已经移除了HttpClient的相关类,推荐使用HttpUrlConnection,所以如果仍要继续使用,需要在Android Studio对应的module下的build.gradle中进行添加配置:
android {
useLibrary 'org.apache.http.legacy'
}
在android{}中添加这样一个引用,我们就可以使用HttpClient的相关类了。
使用eclipse的朋友则需要在libs文件夹下添加org.apache.http.legacy.jar这个包啦,在sdk目录下可以找到。
...\platforms\android-23\optional\org.apache.http.legacy.jar(需要下载android 6.0或以上的SDK)
这里就不多做介绍啦。
另外,加了上面的jar后,混淆可能会出现问题,我们还需要在proguard-rules.pro文件中进行配置,使其不对这个jar进行混淆。如果对混淆不了解的朋友,可以看我的另一篇博客Android Studio混淆打包,如何配置混淆都有介绍。
#不混淆android-async-http (这里的与你用的httpClient框架决定)
-keep class com.loopj.android.http.**{*;}
#不混淆org.apache.http.legacy.jar
-dontwarn android.net.compatibility.**
-dontwarn android.net.http.**
-dontwarn com.android.internal.http.multipart.**
-dontwarn org.apache.commons.**
-dontwarn org.apache.http.**
-keep class android.net.compatibility.**{*;}
-keep class android.net.http.**{*;}
-keep class com.android.internal.http.multipart.**{*;}
-keep class org.apache.commons.**{*;}
-keep class org.apache.http.**{*;}
我们可以在proguard-rules.pro文件末尾进行这般设置。
结束语:本文仅用来学习记录,参考查阅。