Недавно я перенесла свой проект из Eclipse в Android Studio (пока я еще не полностью контролирую эту IDE). В этом проекте у меня есть файловый загрузчик AsyncTask, который отправляет multipart через http. Для этого я использую org.apache.httpcomponents. Я создал следующие зависимости:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.apache.httpcomponents:httpcore:4.4'
compile 'org.apache.httpcomponents:httpmime:4.4'
...
}
В моем java-коде AsyncTask:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(...);
builder.addBinaryBody(...);
builder.addBinaryBody(...);
HttpEntity entity = builder.build(); // < throw exception
Исключение, которое я получаю при загрузке загрузки:
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 > httpcomponents
и зависимостью org.apache.httpcomponents
, но я не нашел решения для решения моей проблемы.