org.apache.http.client-4.3.6:java.lang.NoClassDefFoundError:org.apache.http.impl.conn.PoolingHttpClientConnectionManager

时间:2016-03-10 19:50:48

标签: java android apache dependencies unirest

我在Android工作。我正在尝试为Unirest library安装依赖项(不使用maven)。我添加了依赖项的确切版本,即:httpclient 4.3.6,httpmime 4.3.6,httpasyncclient 4.0.2。

但是,我仍然收到此错误:

internal server error

根据相关Apache Javadocs,该定义早在4.3版本的org.apache.httpclient中就已存在。

我很难过。任何帮助将不胜感激。

此外,这是我的gradle快照,以防它有用:

E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: com.abdulwasae.odnvt_1, PID: 12678
                                               java.lang.NoClassDefFoundError: org.apache.http.impl.conn.PoolingHttpClientConnectionManager
                                                   at com.mashape.unirest.http.options.Options.refresh(Options.java:72)
                                                   at com.mashape.unirest.http.options.Options.<clinit>(Options.java:46)
                                                   at com.mashape.unirest.http.HttpClientHelper.prepareRequest(HttpClientHelper.java:151)
                                                   at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:131)
                                                   at com.mashape.unirest.request.BaseRequest.asJson(BaseRequest.java:68)
                                                   at com.abdulwasae.odnvt_1.ODFragment$2.onClick(ODFragment.java:225)
                                                   at android.view.View.performClick(View.java:4856)
                                                   at android.view.View$PerformClick.run(View.java:19956)
                                                   at android.os.Handler.handleCallback(Handler.java:739)
                                                   at android.os.Handler.dispatchMessage(Handler.java:95)
                                                   at android.os.Looper.loop(Looper.java:211)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5373)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

更新 我检查确认是否可以在任何一个添加的依赖项中找到麻烦的类。并且,是的,它确实显示在httpclient-4.3.6.jar

class in httpclient-4.3.6.jar

我想知道接下来要检查什么。

2 个答案:

答案 0 :(得分:1)

使用unirest-java-1.4.9-SNAPSHOT-withDependency-ShadedForAndroid。它可以通过以下this教程构建。

答案 1 :(得分:0)

NoClassDefFoundError始终表示您缺少一个jar文件。

java.lang.NoClassDefFoundError:org.apache.http.impl.conn.PoolingHttpClientConnectionManager

看起来像在httpcomponent-client中,尝试添加:

 compile 'org.apache.httpcomponents:httpcomponents-client:4.5.2'

到你的构建文件。