NoClassDefFoundException после обновления Android SDK - PullRequest
1 голос
/ 27 марта 2012

Я только что установил новый Android SDK и ADT 17. После установки я столкнулся с известной проблемой с внешними банками.

Я переименовал каталог в libs, удалил все записи из пути сборки. ADT снова добавил его в проект android, и теперь библиотеки найдены.

НО: класс из моего собственного пакета больше не найден. Проект компилируется, но во время выполнения, в первый раз, когда нужен класс, генерируется исключение NoClassDefFoundError-Exception:

03-27 13:31:56.483: E/AndroidRuntime(1051): java.lang.NoClassDefFoundError: com.my.package.local.PersistantAuthenticationManager
03-27 13:31:56.483: E/AndroidRuntime(1051):     at com.my.package.Login.onCreate(Login.java:93)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.ActivityThread.access$2300(ActivityThread.java:135)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.os.Looper.loop(Looper.java:144)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at android.app.ActivityThread.main(ActivityThread.java:4937)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at java.lang.reflect.Method.invokeNative(Native Method)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at java.lang.reflect.Method.invoke(Method.java:521)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-27 13:31:56.483: E/AndroidRuntime(1051):     at dalvik.system.NativeStart.main(Native Method)

Как я могу это исправить?

1 Ответ

0 голосов
/ 27 марта 2012

Я решил проблему: проблема была в ссылочном проекте, а не в банке. Проблема: Библиотека не появилась в Export-Tab, поэтому я не распознал ее как проблему.

Но когда я внимательно посмотрел на сообщения logcat, я обнаружил небольшое сообщение об ошибке, почему мой класс из локального пакета не был найден. В нем реализован интерфейс из указанного проекта, и этот интерфейс не найден.

Cloue: После удаления проекта из пути сборки и добавления его снова, он появился в Export-Tab. Добавление его в экспортирующие проекты устранило эту проблему.

...