Android 6.0 SDK 找不到HttpClient的解决方法

2023-02-23,,

一、情况描述

在eclipse或Android Studio开发时(笔者目前只用过Android Studio),设置Android SDK的编译版本为23时,且使用了httpClient相关类的库项目时:如Android-async-http时,会出现有一些类找不到的错误,或者找不到HttpClient类。

二、原因

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'

}

如图:

四、HttpClient会在谷歌的安卓中消失的原因

一开始,谷歌安卓新出,库中自带HttpClient 4.0 测试预览版。为与安卓保持API同步,HTTPClient不敢打动干戈。后来,HTTPCient 4.0逐渐成熟,Apache欲使Android跟进更新对应的库,Android拒绝了。然而旧库bug丛生,瑕疵遍地。故,今Apache新出一个HTTPClient for android。

那既然Android自带的不好,为啥不直接导入Apache的呢?因为包名是一样的,库冲突。不是不能解决,也能,据说比较麻烦(笔者没试过)。从Apache下载最新的httpclient源码,把每个源文件包名改了,改成Android不冲突的。然后打包成jar文件,然后导入到Android工程的lib里。

现在,Android 6.0 已经移除了httpClient,于是我们可以从Apache下载HttpClient,然后导入到lib中,不用改名了。

更具体的解释说明请点击:点击打开链接

Android 6.0 SDK 找不到HttpClient的解决方法的相关教程结束。

《Android 6.0 SDK 找不到HttpClient的解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。