当我将 sdk 更新为 M 时,import org.apache.http.client 无法解析错误

Posted

技术标签:

【中文标题】当我将 sdk 更新为 M 时,import org.apache.http.client 无法解析错误【英文标题】:The import org.apache.http.client cannot be resolved error when I update sdk to M 【发布时间】:2015-12-17 00:30:58 【问题描述】:

将项目导入 Eclipse 时出现以下错误。我已将我的 sdk 更新为 M。

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;

【问题讨论】:

【参考方案1】:

对于 eclipse -- 在你的 sdk 中找到库并手动添加它 platforms/android-23/optional/org.apache.http.legacy.jar

对于android studio,在build.gradle中添加这一行

android 
    useLibrary 'org.apache.http.legacy'

【讨论】:

很棒的一个班轮,但可以节省时间。【参考方案2】:

对于 android studio,在 app 的 build.gradle 文件中添加一行:

android 
       compileSdkVersion 23
       ....
       defaultConfig 
       ..
       ..
       
 useLibrary 'org.apache.http.legacy'

【讨论】:

【参考方案3】:

apache httpNameValuePair 在 api 23 中已被弃用。您必须手动添加 apache 库 check this 。

或者你应该从现在开始使用 HttpURLConnection 。检查此answer 是否相同

【讨论】:

【参考方案4】:

实现相同目的的另一种方法是,

找到org.apache.http.legacy.jar 中的Android/Sdk/platforms/android-23/optional, 将其添加到您的依赖项中。

Source

【讨论】:

以上是关于当我将 sdk 更新为 M 时,import org.apache.http.client 无法解析错误的主要内容,如果未能解决你的问题,请参考以下文章

当Parse iOS sdk更新为1.14时,callFunctionInBackground无法正常工作

如何将参数实际值更改/更新为 UI 参数值? (后效SDK,C++)

完成错误:Gradle task assembleDebug failed with exit code 1,当我将 Flutter SDK 更新到 v1.12.13+hotfix.5

远程通知中app更新提示。

当我将Drupal 7更新为Drupal 8时,我的模块会发生什么?

gulp-sasserror: File to import not found or unreadable