NoSuchFieldError INSTANCE erhalten org / apache / http / Nachricht / BasicHeaderValueParser
Arbeite ich an einer app auf Android. Ich bin mit httpcore 4.3.3. Ich bekomme diese, wenn ich versuche, mit ContentType.parse(string)
java.lang.NoSuchFieldError: No static field INSTANCE of type Lorg/apache/http/message/BasicHeaderValueParser; in class Lorg/apache/http/message/BasicHeaderValueParser; or its superclasses (declaration of 'org.apache.http.message.BasicHeaderValueParser' appears in /system/framework/ext.jar)
Habe ich getan einige googeln und ich verstehe, warum bin ich immer die Fehler, aber ich bin mir nicht sicher, wie es zu lösen ist. Von dem, was ich gelesen habe, scheint es, dass ContentType versucht zu nutzen BasicHeaderValueParser, kommt mit Android und wenn die Klasse nicht die INSTANZ-Feld noch nicht. Jede Hilfe bitte?
Diese sind die entsprechenden Importe:
compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
compile 'org.apache.httpcomponents:httpcore:4.3.3'
Kommentar zu dem Problem
Sind Sie mit Proguard?
i dont think so. ich habe vor kurzem ein Upgrade auf android studio 1.0, die macht, die Sie verwenden minifyEnabled statt runProguard, ich glaube, ich habe Sie auf false gesetzt. ich kann versuchen Sie Sie auf true, aber gibt es eine andere Möglichkeit dieses Problem zu beheben? --> nicht scheinen, um es zu beheben
verwenden jarjar zu packen, apache-http-Bibliothek oder mit älteren httpmime Bibliothek(chech welche verion ist compatble mit minsdk Ihrem Projekt)
InformationsquelleAutor der Frage Josh | 2014-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider stock-Versionen HttpCore nicht verwendet werden, in Android. Bitte verwenden Sie Apache-HttpClient-Android-Port, die auch mit den erforderlichen HttpCore Klassen
InformationsquelleAutor der Antwort oleg
Download der aktuellen Apache-Httpclient Jar-Datei und brechen Pfad-Namen. Das funktioniert für mich.
InformationsquelleAutor der Antwort user4851164
Einfache Lösung ist die Verwendung:
https://code.google.com/p/httpclientandroidlib/
Es ist der Appache HttpClient-port für android-wrap in einer anderen package-Namen, so dass beeinträchtigt nicht die bestehende version in Android.
Importieren Sie das jar in das Android-Projekt und statt "org.apache.http" verwenden Sie "ch.Boje.httpclientandroidlib."
InformationsquelleAutor der Antwort cmg_george
Sieht aus wie Sie verwenden nicht kompatibel jar ' s für httpmime und httpclient-android. Versuchen Sie, die version 4.3.6 von httpmime
InformationsquelleAutor der Antwort jazzyjester