2011-04-18 31 views
6

Estoy usando la versión 2.5.4 de Ksoap2 en mi proyecto android habilitado por maven. Cualquier referencia a las clases específicas Ksoap está lanzando esta excepciónexcepción al usar la biblioteca ksoap2 para Android

04-18 20:35:15.429: ERROR/dalvikvm(626): Could not find class 'org.ksoap2.serialization.SoapObject', referenced from method com.rare.Main.fetchSoapResponse 
04-18 20:35:15.662: ERROR/AndroidRuntime(626): FATAL EXCEPTION: main 
04-18 20:35:15.662: ERROR/AndroidRuntime(626): java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at com.rare.Main.fetchSoapResponse(Main.java:57) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at com.rare.Main.onCreate(Main.java:23) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.os.Looper.loop(Looper.java:123) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-18 20:35:15.662: ERROR/AndroidRuntime(626):  at dalvik.system.NativeStart.main(Native Method) 

la línea de código que causa esto es

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

No se pudo encontrar ningún tipo de ayuda relacionada con este SO o en otros foros. Esto parece bastante sencillo. ¿Puede alguien decirme qué es lo que falta y cómo puedo hacer que Android use la biblioteca en tiempo de ejecución?

+0

¿Ha descargado el [ '...- jar-con-dependencies.jar'] (http://code.google.com/p/ksoap2-android/source/browse/ m2-repo/com/google/code/ksoap2-android/ksoap2-android-assembly/2.5.4 /) versión? ¿Ha agregado a la ruta de compilación el contenedor externo? – bigstones

+0

si agrego la biblioteca externa recibo este mensaje de error 'Falló la conversión a formato Dalvik con el error 1' – Manoj

+1

los pasos que funcionaron para mí son: haga clic derecho en proyecto -> ruta de compilación -> agregar archivos externos. – bigstones

Respuesta

16
  • En su ruta de compilación borre todas las bibliotecas (archivos jar).
  • En el directorio principal del proyecto cree una carpeta y llámala "libs" (no "lib").
  • Ahora Eclipse ADT Plugin agregará sus archivos jar a la ruta de compilación.
  • Limpiar & Cree su proyecto si es necesario.
  • feliz de codificación
+0

Sn.Oğuz no resolvió mi problema. –

+0

Te perdiste el último paso :) Reiniciar eclipse. Entonces funcionó bien http://stackoverflow.com/a/9878130/413032 –

1

Tuve el mismo problema. He agregado un archivo ZIP en vez de un archivo jar a una biblioteca externa, solo necesita agregar el archivo JAR.

Cuestiones relacionadas