我有一个用Android Studio编写的简单类:
package com.mysite.myapp;
import org.apache.http.client.HttpClient;
public class Whatever {
public void headBangingAgainstTheWallExample () {
HttpClient client = new DefaultHttpClient();
}
}
由此我得到了下面的编译时错误:
Cannot resolve symbol HttpClient
Android Studio SDK中不包括HttpClient
吗?即使它不是,我也将它添加到我的Gradle构建中,如下所示:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'org.apache.httpcomponents:httpclient:4.5'
}
不管有没有最后一个编译行,错误都是一样的。我遗漏了什么?
发布于 2015-08-22 07:12:57
SDK23不再支持HttpClient
。您必须使用URLConnection
或降级至SDK22 (compile 'com.android.support:appcompat-v7:22.2.0'
)
如果你需要sdk 23,把这个添加到你的gradle中:
android {
useLibrary 'org.apache.http.legacy'
}
您也可以尝试下载HttpClient jar并将其直接包含到项目中,或者改用OkHttp
发布于 2015-08-22 14:52:22
HttpClient在API级别22中已弃用,并在API级别23中被删除。如果有必要,您仍然可以在API级别23和更高版本中使用它,但是最好转移到受支持的方法来处理HTTP。所以,如果你使用23编译,在你的build.gradle中添加如下代码:
android {
useLibrary 'org.apache.http.legacy'
}
发布于 2015-10-29 04:28:26
TejaDroid在下面链接中的答案对我很有帮助。Can't import org.apache.http.HttpResponse in Android Studio
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
...
}
https://stackoverflow.com/questions/32153318
复制相似问题