0

最初の行で java.lang.NoClassDefFoundError が発生しました:

FirstFragment firstTab = FirstFragment.newInstance(10);

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

しかし、フラグメントが存在することは確かです! (フラグメントなので、マニフェストで宣言されているかどうかを確認する必要はありません。)その名前をリファクタリングしたり、他のパッケージに移動したりしても、問題は解決しませんでした。スタックトレースは次のとおりです。

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)

Intel J 12.0.4 のバグですか? 私のバージョンは Build #IC-123.169 です。後でEclipseで試してみますが、Intelli Jで解決できることを願っています.

4

1 に答える 1

0

プロジェクト全体を Eclipse で開いた後、すべての依存関係をもう一度設定すると、Eclipse は、カスタム ライブラリ クラスの 1 つを誤って別のクラスにキャストしたことを指摘します。おそらくそれが、後で呼び出すための成功したコンパイル済みクラス ファイルが存在しなかった理由です。

とにかく、Intelli-J はサードパーティのライブラリが関係しているときにそのエラーを検出できなかったようです。これはバグである可能性があります。しかし、そのような明らかなエラーを見つけられなかった責任も私にあります。

于 2013-03-29T07:52:34.013 に答える