web-dev-qa-db-fra.com

Obtention de NoSuchFieldError INSTANCE org/Apache/http/message/BasicHeaderValueParser

Je travaille sur une application sur Android. J'utilise httpcore 4.3.3. Je reçois ceci quand j'essaie d'utiliser 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)

J'ai fait quelques recherches sur Google et je comprends pourquoi l'erreur est survenue, mais je ne sais pas comment la résoudre. D'après ce que j'ai lu, il semble que ContentType tente d'utiliser le BasicHeaderValueParser fourni avec Android et que cette classe ne dispose pas encore du champ INSTANCE. Toute aide s'il vous plaît?

Ce sont les importations pertinentes:

compile('org.Apache.httpcomponents:httpmime:4.3.6') {
    exclude module: 'httpclient'
}
compile 'org.Apache.httpcomponents:httpcore:4.3.3'
25
joshkendrick

Malheureusement, les versions standard de HttpCore ne peuvent pas être utilisées sous Android. Veuillez utiliser Apache HttpClient Android Port qui inclut également les classes HttpCore requises. 

compile('org.Apache.httpcomponents:httpmime:4.3.6') {
    exclude module: 'httpclient'
}
compile 'org.Apache.httpcomponents:httpclient-Android:4.3.5'
87
oleg

Téléchargez le dernier fichier Jar Apache Httpclient et le nom du chemin d'accès. Ça marche pour moi.

2
user4851164

On dirait que vous utilisez des fichiers JAR incompatibles pour httpmime et httpclient-Android. Essayez d'utiliser la version 4.3.6 de httpmime

0
jazzyjester

La solution simple consiste à utiliser:

https://code.google.com/p/httpclientandroidlib/

C'est le port Appache HttpClient pour Android qui enveloppe un nom de paquet différent pour ne pas interférer avec la version existante d'Android . Importez le fichier jar dans le projet Android et remplace "org.Apache.http" par "ch.boye .httpclientandroidlib. "

0
cmg_george