Android java.lang.NoClassDefFoundError但在以后的同一个apk运行中没有

时间:2013-12-04 18:25:24

标签: android eclipse

我在持续发展中有 apk

过去几周,我在大多数(但不是全部)场合看到Android java.lang.NoClassDefFoundError我在Android平板电脑上运行来自Eclipse的apk。

在那些失败的情况下,如果我从平板电脑重新启动apk(即没有重新加载),那么在大多数情况下它运行良好而不会发生错误。

此外,如果在失败后我清理项目并从Eclipse运行,那么它有时(但不总是)第一次运行正常。

我在java.lang.NoClassDefFoundError咨询了许多在线讨论,但我发现没有人提到给定apk的间歇性行为。

类加载器可能在apk的不同运行中表现不同吗?

任何人都可以提供建议吗?

谢谢。

这是logcat提取:

12-04 18:37:52.356: E/AndroidRuntime(16868): FATAL EXCEPTION: main
12-04 18:37:52.356: E/AndroidRuntime(16868): java.lang.NoClassDefFoundError: kelsius/objects/ModulesManager
12-04 18:37:52.356: E/AndroidRuntime(16868):    at kelsius.layout.InsideDashboardActivity$29.onClick(InsideDashboardActivity.java:2361)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.view.View.performClick(View.java:3511)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.view.View$PerformClick.run(View.java:14109)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.os.Handler.handleCallback(Handler.java:605)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.os.Handler.dispatchMessage(Handler.java:92)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.os.Looper.loop(Looper.java:137)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at android.app.ActivityThread.main(ActivityThread.java:4424)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at java.lang.reflect.Method.invokeNative(Native Method)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at java.lang.reflect.Method.invoke(Method.java:511)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-04 18:37:52.356: E/AndroidRuntime(16868):    at dalvik.system.NativeStart.main(Native Method)
12-04 18:37:52.876: I/dalvikvm(16868): threadid=3: reacting to signal 3

它总是在找不到相同的类时失败。

然而,早些时候它失败了一个不同的类,但从那以后我重构了我的代码。

0 个答案:

没有答案