Ich habe vor kurzem mein Projekt von Eclipse zu Android Studio migrieren (ich kontrolliere diese IDE noch nicht vollständig). In diesem Projekt habe ich eine Datei-Uploader AsyncTask, die Multipart über http senden. Um dies zu tun, verwende ich org.apache.httpcomponents. Ich habe folgende Abhängigkeiten:Android - MultipartEntity und Abhängigkeiten
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.apache.httpcomponents:httpcore:4.4'
compile 'org.apache.httpcomponents:httpmime:4.4'
...
}
In meinem java AsyncTask Code:
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addBinaryBody(...);
builder.addBinaryBody(...);
builder.addBinaryBody(...);
HttpEntity entity = builder.build(); // < throw exception
Die Ausnahme, die ich beim Start Upload erhalten:
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)
Ich glaube, es gibt einen Konflikt zwischen android.jar > httpcomponents
und der org.apache.httpcomponents
Abhängigkeit, aber ich finde keine Lösung, um mein Problem zu lösen.
Das ist mein Problem gelöst, ich danke Ihnen sehr! – alex
@soey Danke für die Antwort, die es mir gerettet hat. Arbeiten völlig in Ordnung. –