NoClassDefFoundError: Resolución fallida de: Lorg / apache / http / conn / ssl / DefaultHostnameVerifier;

Estoy intentando usar Java API Exchange Web Services en una aplicación de Office365 Android que estoy haciendo, pero sigue recibiendo este error.

Información relevante de la pila a continuación:

 Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/ssl/DefaultHostnameVerifier; at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170) at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779) at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140) 

 Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.http.conn.ssl.DefaultHostnameVerifier" on path: DexPathList[[zip file "/data/app/com.microsoft.office365.connect-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at microsoft.exchange.webservices.data.core.EwsSSLProtocolSocketFactory.<clinit>(EwsSSLProtocolSocketFactory.java:86) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.createConnectionSocketFactoryRegistry(ExchangeServiceBase.java:212) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.initializeHttpClient(ExchangeServiceBase.java:194) at microsoft.exchange.webservices.data.core.ExchangeServiceBase.<init>(ExchangeServiceBase.java:170) at microsoft.exchange.webservices.data.core.ExchangeService.<init>(ExchangeService.java:3779) at com.microsoft.office365.connect.SendMailActivity.onBookMeetingButton1(SendMailActivity.java:140) 

 Suppressed: java.lang.ClassNotFoundException: org.apache.http.conn.ssl.DefaultHostnameVerifier at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 20 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Tengo el httpclient 4.3.jar en mi / libs / carpeta y estas son mis dependencias:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' // base OData library: compile group: 'com.microsoft.services', name: 'odata-engine-core', version: '0.12.1' compile group: 'com.microsoft.services', name: 'odata-engine-android-impl', version: '0.12.1', ext:'aar' // choose the discovery and outlook services compile group: 'com.microsoft.services', name: 'discovery-services', version: '0.12.1' compile group: 'com.microsoft.services', name: 'outlook-services', version: '0.12.1' // Azure Active Directory Library compile group: 'com.microsoft.aad', name: 'adal', version: '1.1.1' //compile 'org.apache.httpcomponents:httpclient:4.4' //compile 'org.apache.httpcomponents:httpcore:4.3.3' //compile 'commons-logging:commons-logging:1.2' //compile 'joda-time:joda-time:2.7' } 

¿Hay alguien capaz de detectar el problema o cómo podría solucionarlo? Gracias

Intenté agregar la siguiente dependencia. Ahora está funcionando bien para mí

 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.4.1</version> </dependency> 

Tenía el mismo problema. Lo arreglé actualizando todas las librerías org.apache.httpcomponents bajo pom.xml

He enfrentado el mismo problema, pero fijo añadiendo httpclient-osgi en pom

  <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient-osgi</artifactId> <version>4.5.1</version> </dependency> 

Funciona bien..

  • La mejor práctica para obtener json de url en api 23
  • ¿Por qué DefaultHttpClient envía datos a través de un socket semi-cerrado?
  • Obtener NoSuchFieldError INSTANCE org / apache / http / message / BasicHeaderValueParser
  • Java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.INSTANCE
  • HttpClient falla con Handshake Falló en Android 5.0 Lollipop
  • Usando retrofit con persistencia de Cookie
  • WebView con cliente HTTP personalizado
  • Android API 23 - HttpClient 4.X reempaquetado
  • Apache HttpClient 4.3 en Android 4.4
  • Conversión de httpclient 3 a httpclient 4 (política de cookies)
  • Apache conexión HTTP con Android 6.0 (Marshmallow)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.