启动片段时发生NoClassDefFoundError

时间:2013-03-29 03:36:35

标签: android intellij-idea noclassdeffounderror

java.lang.NoClassDefFoundError出现在第一行:

FirstFragment firstTab = FirstFragment.newInstance(10);

mTabsAdapter.addTab(generateTabSpec(0, mTabHost),
            firstTab.getClass(), null);

但我很确定片段存在! (它是一个片段,因此不需要检查是否在Manifest中声明。)即使重构其名称或移动到其他包也没有解决问题。这是堆栈跟踪:

ERROR/AndroidRuntime(23608): FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: dev.twothree.android.wtf.FirstFragment
    at dev.twothree.android.activity.FragmentTab.setupTabHost(FragmentTab.java:110)
    at dev.twothree.android.activity.FragmentTab.onCreate(FragmentTab.java:75)
    at android.app.Activity.performCreate(Activity.java:5008)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2136)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2207)
    at android.app.ActivityThread.access$600(ActivityThread.java:139)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4899)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
    at dalvik.system.NativeStart.main(Native Method)

它是Intell J 12.0.4的错误吗?我的版本是Build#IC-123.169。稍后我将在Eclipse中尝试它,但仍然希望它可以在Intelli J中解决。

1 个答案:

答案 0 :(得分:0)

用Eclipse打开整个项目后,将所有依赖项配置为ONCE AGAIN,Eclipse指出我不小心将其中一个自定义库类CAST转换为另一个类。也许这就是为什么没有成功的编译类文件存在以供以后调用。

无论如何,似乎Intelli-J没有发现第3方库涉及的错误,它可能是一个错误。但是由于没有找到那么明显的错误,责任也在我身上。