相关疑难解决方法(0)

Android - MultipartEntity和依赖项

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.apache.httpcomponents:httpcore:4.4'
    compile 'org.apache.httpcomponents:httpmime:4.4'
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我的java AsyncTask代码中:

MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(...);
builder.addBinaryBody(...);
builder.addBinaryBody(...);
HttpEntity entity = builder.build(); // < throw exception
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

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

android androidhttpclient android-studio

16
推荐指数
2
解决办法
4万
查看次数