我们知道Android M已取消对HttpClient的支持。与其链接的应用必须明确说明:在您的gradle文件中添加库依赖项。
但它是否会破坏与现有应用程序的向后兼容性? 假设我编写了一个支持Api 1级及更高级别的应用程序,自去年以来它从未维护过。应用程序的targetSdkLevel肯定低于22.它会在Android M上崩溃吗?源代码可能已丢失。
答案 0 :(得分:2)
答案似乎是是。
我通过SDK管理器查看了Android M源代码,客户端的软件包不在源代码中。
HttpClient的包名称:
org.apache.http.client.HttpClient
现有路径:
org.apache.http.conn
org.apache.http.params
答案 1 :(得分:1)
解决这个问题的方法:
android {
useLibrary 'org.apache.http.legacy'
}
compile 'com.squareup.okhttp:okhttp-urlconnection:2.4.0'
使用示例:
private static OkHttpClient okHttpClient = new OkHttpClient();
HttpURLConnection urlConnection = new OkUrlFactory(okHttpClient).open(url);