首页 > 解决方案 > 无法使用 Apache HttpClient

问题描述

我想将 Apache HttpClient 4.1 包含到我的项目中。

所以,我添加到我的 build.gradle 中:

dependencies {
    ..
    compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.1'
}

运行健全性测试:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        try {
            EntityUtils.consume(null);
        } catch (Exception e){
            System.out.print(e.getMessage());
        }
    }

给出错误:

java.lang.NoSuchMethodError:类 Lorg/apache/http/util/EntityUtils 中没有静态方法消耗(Lorg/apache/http/HttpEntity;)V;或其超类('org.apache.http.util.EntityUtils' 的声明出现在 /system/framework/org.apache.http.legacy.boot.jar 中)

那么为什么Android调用org.apache.http.legacy.boot.jar,而不是调用添加的Apache HttpClient 4.1库呢?我怎么能强迫它打电话呢?

标签: androidhttpclient

解决方案


尝试添加到您的build.gradle

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

推荐阅读