Problema de compilación de Gradle: actualización de Quickblox y httpclient en el último SDK23 de Android
Estoy tratando de actualizar la aplicación android (que utiliza Quickblox y httpclient para la comunicación con el servidor) hasta el último SDK 23. Tengo algunos problemas. Sé que httpclient no es compatible con SDK23. Puede comprobar el error a continuación:
Process: com.a.test, PID: 26761 java.lang.NoClassDefFoundError: Failed resolution of: Lde/measite/minidns/Client; at org.jivesoftware.smack.util.dns.minidns.MiniDnsResolver.<init>(MiniDnsResolver.java:50) at org.jivesoftware.smack.util.dns.minidns.MiniDnsResolver.<clinit>(MiniDnsResolver.java:45) at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:324) at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:213) at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148) at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116) at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96) at org.jivesoftware.smack.ConnectionConfiguration.<clinit>(ConnectionConfiguration.java:38) at com.quickblox.chat.QBChatService.<clinit>(QBChatService.java:77) at com.a.test.services.ServiceCheckAppRunning.getDialogs(ServiceCheckAppRunning.java:170) at com.a.test.services.ServiceCheckAppRunning.checkInternet(ServiceCheckAppRunning.java:158) at com.a.test.services.ServiceCheckAppRunning.access$000(ServiceCheckAppRunning.java:49) Caused by: java.lang.ClassNotFoundException: Didn't find class "de.measite.minidns.Client" on path: DexPathList[[zip file "/data/app/com.a.test-1/base.apk"],nativeLibraryDirectories=[/data/app/com.a.test-1/lib/arm, /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 org.jivesoftware.smack.util.dns.minidns.MiniDnsResolver.<init>(MiniDnsResolver.java:50) at org.jivesoftware.smack.util.dns.minidns.MiniDnsResolver.<clinit>(MiniDnsResolver.java:45) at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:324) at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:213) at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148) at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116) at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96) at org.jivesoftware.smack.ConnectionConfiguration.<clinit>(ConnectionConfiguration.java:38) at com.quickblox.chat.QBChatService.<clinit>(QBChatService.java:77) at com.a.test.services.ServiceCheckAppRunning.getDialogs(ServiceCheckAppRunning.java:170) at com.a.test.services.ServiceCheckAppRunning.checkInternet(ServiceCheckAppRunning.java:158) at com.a.test.services.ServiceCheckAppRunning.access$000(ServiceCheckAppRunning.java:49) at com.a.test.services.ServiceCheckAppRunning$TimeDisplayTimerTask$1.run(ServiceCheckAppRunning.java:114) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Suppressed: java.lang.ClassNotFoundException: de.measite.minidns.Client 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) ... 24 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
¿Alguien sabe la solución? Puedo compartir cualquier código requerido.
- Error de Qucikblox: para iniciar sesión en Android en Android
- La clase StickersManager no se encuentra para Quickblox
- Quickblox base Mala marca de tiempo para 4.1.2
- Quickblox Chat Login falla con respuesta no autorizada
- Comparando Capa, Applozic, Quickblox y SendBird para WhatsApp rápido como mensajes en una aplicación para Android
- Se requiere error de QuickBlox Token
- Mejor manera de implementar la aplicación de chat utilizando XMPP en Android?
- Base Prohibida. Necesita usuario
- Obtener toda la lista de grupos Quickblox desde el servidor
- La aplicación se bloquea al cargar la biblioteca nativa para webRTC
- ¿Cómo exactamente quickblox uso en Android?
- QuickBlox Android SDK 1.2 ya no se está ejecutando en la API de Android antes de las 14
Pude trabajar alrededor de este problema agregando las dependencias siguientes en build.gradle
compile 'com.google.code.gson:gson:2.6.2' compile group: 'de.measite.minidns', name: 'minidns', version: '0.1.7' compile group: 'org.jxmpp', name: 'jxmpp-util-cache', version: '0.5.0' compile group: 'org.jxmpp', name: 'jxmpp-core', version: '0.5.0'