Android java.lang.NoClassDefFoundError с использованием библиотек JODA

я застрял примерно на 2 часа на проблеме, о которой я думал. было легко решить. Я создаю собственное средство выбора даты -для платформы Android, и из-за медлительности стандартных классов java.util.Calendar и java.util.Date я решил использовать библиотеку JODA.

К сожалению, у меня нет опыта работы со ссылками на «JAR» (простите меня... я пришел из мира сборок COM и.NET = )... ), но я узнаю несколько советов в Интернете но видимо ошибаются... Вот шаги, которые я предпринял, чтобы использовать библиотеку в своем проекте:

  1. Загрузите последнюю версию библиотеки JODA 2.1
  2. Создайте папку «lib» в папке моего проекта
  3. Добавьте «joda -time -2.1. jar» в папку «lib».
  4. Добавьте библиотеку «joda -time -2.1.jar» в путь сборки.
  5. Добавьте «joda -time -2.1 -javadoc.jar» и «joda -time -2.1 -sources.jar» в папку «lib»
  6. Установите вышеуказанные библиотеки как «исходные вложения Java» и «расположение javadoc» для библиотеки, на которую ссылается joda -time -2.1.
  7. Использовать новую библиотеку в моем коде (эм эм 'intelli -sense', и компилятор не выдает никаких ошибок или предупреждений)
  8. Начать отладку на реальном или виртуальном устройстве.

Когда дело доходит до следующей строки (первой, которая использует JODA BTW ), отладка останавливается:

DateTime newDate = new DateTime(2012, 5, 3, 12, 0, 0);

И возвращается следующая трассировка стека:

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

Кто-нибудь может мне помочь? Заранее спасибо!

5
задан GiveEmTheBoot 3 May 2012 в 18:40
поделиться