Gradle 同步成功后无法在 Android Studio 中使用 HttpPost

can't use HttpPost in Android Studio after successful Gradle sync

我正尝试像过去在 Android 中那样使用 HttpPost。我意识到它已从最近的 Android 版本中删除。按照类似 Whosebug 问题的解决方案,我将其添加到我的 Gradle 依赖项中:

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'

在 Gradle 没有错误的同步后,我仍然无法导入 HttpPost 程序。事实上,org.apache.http.client.methods 包根本无法解析。

我也尝试了 Apache HttpClient 网站的建议,即在我的 Gradle 依赖项中使用它:

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'

再一次,同步正常,这次包已解析,但 HttpPost 程序未解析。

如有任何建议,我将不胜感激。

只需在 build.gradle 内的 android 插件中添加这一行:

useLibrary 'org.apache.http.legacy'

Android 的 Apache HttpClient 4.3 是对包含在早期 Android 版本中的遗留 4.0 alpha 版本的更新。为避免命名冲突,更新后的 类 上的一些人获得了后缀 HC4,例如 HttpPostHC4,必须改用后者。

但现在旧的 HttpClient 已从 Android 中删除,旧的 类 像 HttpPost 不复存在了。

在较新的 Android 版本上获取 HttpClient 库的官方方法是使用:

android {
    useLibrary 'org.apache.http.legacy'
}

作为documented here.