Estoy atascado desde aproximadamente 2 horas en un problema que pensé que era fácil de resolver. Estoy construyendo un selector de fecha y hora personalizado para la plataforma de Android y, debido a la lentitud de las clases java.util.Calendar y java.util.Date estándar, decidí usar la biblioteca de JODA.Android java.lang.NoClassDefFoundError utilizando las bibliotecas JODA
Desafortunadamente no tengo experiencia con las referencias 'JAR' (perdóneme ... vengo de COM y ensamblados .NET world =) ...), pero aprendo algunos consejos en internet pero obviamente parecen estar equivocado ... Estos son los pasos que di a utilizar la biblioteca en mi proyecto:
- descargar la última biblioteca JODA 2.1
- crear la carpeta 'lib' en mi proyecto carpeta
- Add ' joda-time-2.1.jar 'a la carpeta' lib '.
- Agregue la biblioteca 'joda-time-2.1.jar' a la ruta de compilación.
- Agregue 'joda-time-2.1-javadoc.jar' y 'joda-time-2.1-sources.jar' a la carpeta 'lib'
- Configure las bibliotecas anteriores como 'adjuntos de origen de Java' y 'ubicación de javadoc 'para la biblioteca referenciada joda-time-2.1.
- Utilice la nueva biblioteca en mi código (el ehm ehm 'intelli-sense' y el compilador no arrojan ningún error o advertencia)
- Comience a depurar en un dispositivo real o virtual.
Cuando se trata de la línea siguiente (el primero que utiliza JODA por cierto), depuración se detiene:
DateTime newDate = new DateTime(2012, 5, 3, 12, 0, 0);
y devuelve el seguimiento de pila:
05-03 19:09:14.349: E/AndroidRuntime(4071): java.lang.NoClassDefFoundError: org.joda.time.DateTime
05-03 19:09:14.349: E/AndroidRuntime(4071): at it.paganel.droidMessageExport.Control.TimePickerControl.SetTimePart(TimePickerControl.java:83)
05-03 19:09:14.349: E/AndroidRuntime(4071): at it.paganel.droidMessageExport.Control.TimePickerControl.onClick(TimePickerControl.java:116)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.view.View.performClick(View.java:2454)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.view.View$PerformClick.run(View.java:9030)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.os.Handler.handleCallback(Handler.java:587)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.os.Handler.dispatchMessage(Handler.java:92)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.os.Looper.loop(Looper.java:123)
05-03 19:09:14.349: E/AndroidRuntime(4071): at android.app.ActivityThread.main(ActivityThread.java:4641)
05-03 19:09:14.349: E/AndroidRuntime(4071): at java.lang.reflect.Method.invokeNative(Native Method)
05-03 19:09:14.349: E/AndroidRuntime(4071): at java.lang.reflect.Method.invoke(Method.java:521)
05-03 19:09:14.349: E/AndroidRuntime(4071): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:870)
05-03 19:09:14.349: E/AndroidRuntime(4071): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)
05-03 19:09:14.349: E/AndroidRuntime(4071): at dalvik.system.NativeStart.main(Native Method)
05-03 19:09:14.349: E/AndroidRuntime(4071): Caused by: java.lang.ClassNotFoundException: org.joda.time.DateTime in loader dalvik.system.PathClassLoader[/data/app/it.paganel.droidMessageExport-2.apk]
05-03 19:09:14.349: E/AndroidRuntime(4071): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
05-03 19:09:14.349: E/AndroidRuntime(4071): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
05-03 19:09:14.349: E/AndroidRuntime(4071): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
05-03 19:09:14.349: E/AndroidRuntime(4071): ... 13 more
que alguien pueda ayudar ¿yo? ¡Gracias de antemano!
¿Cuál es la instrucción de importación que utiliza para DateTime? – Sam
He estado teniendo el mismo problema al abrir mi proyecto en una computadora diferente, Eclipse compila en contra de la biblioteca, pero se bloquea en la primera llamada al constructor DateTime de la biblioteca JodaTime. – Luke