【发布时间】:2015-07-10 21:48:24
【问题描述】:
我正在 Android M 开发者预览版中测试 Volley 的 HurlStack。
在我将compileSdkVersion 从22 更改为'android-MNC' 后,org.apache.http 中的所有类都不会被编译:
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ProtocolVersion;
import org.apache.http.StatusLine;
import org.apache.http.entity.BasicHttpEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicHttpResponse;
import org.apache.http.message.BasicStatusLine;
如何修改我的代码来解决这个问题?
我知道有一些与 Apache HTTP 客户端相关的更改,但是当我按照步骤在 gradle 中添加 useLibrary 'org.apache.http.legacy' 时它仍然不起作用。
【问题讨论】:
-
Apache HttpClient 已经被弃用了一段时间。 Volley 在旧版本的 Android 上使用 HttpClient,在新版本上使用 URLConnection。很可能他们已经从 M 预览版中删除了 httpclient。当您将 android 的最低版本设置为 Volley 使用 URLConnection 的级别时,该错误不应发生。
-
或者你可以自己包含httpClient。喜欢这里:code.google.com/p/httpclientandroidlib
-
@Christine 谢谢你的回答。在developer.android.com/preview/setup-sdk.html 部分“更新现有项目”中,Google 建议将 minSdkVersion 设置为“MNC”。我想知道是否有官方方法可以绕过这个。
-
Volley 作为源项目在您的 IDE 中。您可以在那里删除对 httpclient 的调用。代码在 Volley.java 的“newRequestQueue()”中
-
该应用似乎可以在 Developer Preview 2 上运行。我添加了 useLibrary 'org.apache.http.legacy' 并将 gradle 版本更改为 1.3.0-beta4。 IDE 仍然无法解析该库。希望这会有所帮助。
标签: android android-volley android-mnc