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) 中已弃用
DefaultHttpClient 到 AndroidHttpClient
API 级别 9 及以上的 AndroidHttpClient 与 HttpUrlConnection