Obtener NoSuchFieldError INSTANCE org / apache / http / message / BasicHeaderValueParser
Estoy trabajando en una aplicación en Android. Estoy usando httpcore 4.3.3. Consigo esto cuando intento utilizar 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)
He hecho algunos google y entiendo por qué estoy recibiendo el error, pero no estoy seguro de cómo solucionarlo. Por lo que he leído, parece que ContentType intenta hacer uso de la BasicHeaderValueParser que viene con Android y que la clase no tiene el campo INSTANCE todavía. Cualquier ayuda por favor?
- Apache conexión HTTP con Android 6.0 (Marshmallow)
- Android - Configuración de Retrofit / Apache HttpClient para Digest Auth
- Problemas de tiempo de espera de conexión HTTP
- Java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE
- Android: Esquema 'http' no registrado en ICS 4.0.4 con proxy
Estas son las importaciones pertinentes:
compile('org.apache.httpcomponents:httpmime:4.3.6') { exclude module: 'httpclient' } compile 'org.apache.httpcomponents:httpcore:4.3.3'
- NoClassDefFoundError: Resolución fallida de: Lorg / apache / http / conn / ssl / DefaultHostnameVerifier;
- Proyecto de Android que utiliza httpclient -> http.client (apache), método post / get
- Problema de compilación de Gradle: actualización de Quickblox y httpclient en el último SDK23 de Android
- Solicitud de aplicaciones para Android Servicio WCF (SerializationException - utf-8 related)
- Usando retrofit con persistencia de Cookie
- Cadena de confianza de Android SSL con certificados intermedios (Apache HttpClient 4.X)
- HttpClient falla con Handshake Falló en Android 5.0 Lollipop
- 'Org.apache.http.HttpEntity' está obsoleto. ¿Cómo solucionar este error en android studio?
Lamentablemente las versiones de HttpCore no se pueden utilizar en Android. Utilice Apache HttpClient Puerto Android que también incluye las clases HttpCore necesarias
compile('org.apache.httpcomponents:httpmime:4.3.6') { exclude module: 'httpclient' } compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
Descargue el último archivo de Apache Httpclient Jar y refracte el nombre de la ruta. Funciona para mi.
La solución simple es utilizar:
https://code.google.com/p/httpclientandroidlib/
Es el puerto Appache HttpClient para el envoltorio de Android en un nombre de paquete diferente para que no interfiera con la versión existente en Android. Importe el tarro en el proyecto de Android y en lugar de "org.apache.http" utilice "ch.boye.httpclientandroidlib".
Parece que usted utiliza jar incompatible para httpmime y httpclient-android. Intente utilizar la versión 4.3.6 de httpmime
- Error: Error de ejecución para la tarea ': app: buildInfo Debug Loader'
- ¿Cómo usar Android build.xml en eclipse?