首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android - MultipartEntity和依赖关系

Android - MultipartEntity和依赖关系
EN

Stack Overflow用户
提问于 2015-02-12 06:08:09
回答 4查看 49.4K关注 0票数 18

我最近将我的项目从Eclipse迁移到Android (我还没有完全控制这个IDE )。在这个项目中,我有一个文件上传器AsyncTask,它通过http发送多部分。为此,我使用org.apache.httpcomponents。我创建了以下依赖关系:

代码语言:javascript
复制
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.apache.httpcomponents:httpcore:4.4'
    compile 'org.apache.httpcomponents:httpmime:4.4'
    ...
}

在我的java AsyncTask代码中:

代码语言:javascript
复制
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(...);
builder.addBinaryBody(...);
builder.addBinaryBody(...);
HttpEntity entity = builder.build(); // < throw exception

我在启动上传时获得的异常:

代码语言:javascript
复制
Caused by: java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE
    at org.apache.http.entity.ContentType.toString(ContentType.java:153)
    at org.apache.http.entity.mime.MultipartFormEntity.<init>(MultipartFormEntity.java:52)
    at org.apache.http.entity.mime.MultipartEntityBuilder.buildEntity(MultipartEntityBuilder.java:226)
    at org.apache.http.entity.mime.MultipartEntityBuilder.build(MultipartEntityBuilder.java:230)

我认为android.jar > httpcomponentsorg.apache.httpcomponents依赖之间存在冲突,但我没有找到解决问题的解决方案。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-02-12 12:06:40

我也遇到了同样的问题--尝试使用(这也依赖于httmime,但需要4.3)。这对我起了作用:

代码语言:javascript
复制
dependencies {
  compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
  compile('org.apache.httpcomponents:httpmime:4.3') {
      exclude module: "httpclient"
  }
}
票数 68
EN

Stack Overflow用户

发布于 2015-02-25 06:25:28

Android 的解决方案

右键单击左->打开模块设置中的应用程序文件夹->单击'+‘-> 1.库依赖项

现在,“选择文件依赖项”框将出现-提供输入'httpmime:4.4‘并单击搜索按钮。

它将显示依赖文件。选择该文件并单击“确定”。

等等..。它将添加jar并自动更新Gradle脚本。

票数 11
EN

Stack Overflow用户

发布于 2016-11-10 08:40:52

代码语言:javascript
复制
dependencies {
 compile('org.apache.httpcomponents:httpmime:4.3') {
    exclude module: "httpclient"
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28470486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档