AndroidHttpClient 和 HttpGet API 在 Android 6.0 Marshmallow (API 23) 中已弃用

Posted

技术标签:

【中文标题】AndroidHttpClient 和 HttpGet API 在 Android 6.0 Marshmallow (API 23) 中已弃用【英文标题】:AndroidHttpClient and HttpGet API deprecated in Android 6.0 Marshmallow (API 23) 【发布时间】:2015-11-12 11:33:13 【问题描述】:

今天我更新了 android SDK API 23。

我将项目更改为面向 Android SDK API 23 后,我开始在 Eclipse 中收到有关 Apache 客户端和 AndroidHttpClient API 的错误。 在 API 23 中无法再找到 Apache 库 API,但在 API 22 及更低版本中继续正常工作。

有人可以提出这些错误背后的问题吗?

项目中的另一个错误

谢谢。

【问题讨论】:

【参考方案1】:

要继续使用 Apache HTTP API,您必须首先在 build.gradle 文件中声明以下编译时依赖项:

android 
    useLibrary 'org.apache.http.legacy'

官方参考:https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-apache-http-client

【讨论】:

【参考方案2】:

整个 Apache API 已从 SDK 23 中删除,因为它已从 SDK 22 中弃用。

你可以在这里看到它:http://developer.android.com/sdk/api_diff/23/changes.html

您可以使用 Retrofit 或 Volley 重新实现您的网络请求。

【讨论】:

以上是关于AndroidHttpClient 和 HttpGet API 在 Android 6.0 Marshmallow (API 23) 中已弃用的主要内容,如果未能解决你的问题,请参考以下文章

AndroidHttpClient 和 HttpGet API 在 Android 6.0 Marshmallow (API 23) 中已弃用

使用 AndroidHttpClient 将不起作用

DefaultHttpClient 到 AndroidHttpClient

API 级别 9 及以上的 AndroidHttpClient 与 HttpUrlConnection

为啥我应该使用 OkHttp 而不是 android httpClient 和 AsyncTask

Django view视图