2012-03-09 57 views
1

我遇到了新版本的SherlockActionBar錯誤。當我從快照運行時沒有問題。更新到4.0,它現在拋出一個NoClassDefFoundError。我正在編譯Android 4.0,將庫從Maven回購庫中取消。NoClassDefFoundError:com.actionbarsherlock.app.SherlockFragmentActivity版本4

這裏是有問題的代碼:

getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
ActionBar.Tab tab = getSupportActionBar().newTab(); 
tab.setText("Today"); 
tab.setTabListener(this); 
tab.setCustomView(new DatePairView(this, new DateTime())); 
getSupportActionBar().addTab(tab); 

這裏是logcat的輸出:

03-08 20:35:05.633: ERROR/AndroidRuntime(10976): FATAL EXCEPTION: main 
     java.lang.NoClassDefFoundError: com.actionbarsherlock.app.SherlockFragmentActivity 
     at com.actionbarsherlock.internal.app.ActionBarImpl.selectTab(ActionBarImpl.java:509) 
     at com.actionbarsherlock.internal.app.ActionBarImpl.addTab(ActionBarImpl.java:452) 
     at com.actionbarsherlock.internal.app.ActionBarImpl.addTab(ActionBarImpl.java:438) 
     at com.kopysoft.chronos.activities.ClockActivity.onCreate(ClockActivity.java:88) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
     at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:130) 
     at android.app.ActivityThread.main(ActivityThread.java:3683) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:507) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
     at dalvik.system.NativeStart.main(Native Method) 
03-08 20:35:05.633: WARN/ActivityManager(96): Force finishing activity com.kopysoft.chronos/.activities.ClockActivity 
03-08 20:35:06.133: WARN/ActivityManager(96): Activity pause timeout for HistoryRecord{407fef58 com.kopysoft.chronos/.activities.ClockActivity} 
03-08 20:35:16.303: WARN/ActivityManager(96): Activity destroy timeout for HistoryRecord{407fef58 com.kopysoft.chronos/.activities.ClockActivity} 

完整的代碼可以在這裏找到:https://github.com/kopysoft/Chronos/blob/6ff2692042ca542f67984fda2759744f4746b788/ChronosApp/src/com/kopysoft/chronos/activities/ClockActivity.java

感謝所有幫助!

編輯1 更新的引用git中的靜態條目與最新的一個。

+0

dalvik vm是否顯示一些其他日誌消息是異常? – RaphMclee 2012-08-13 07:57:50

回答

1

該異常通常意味着您在CLASSPATH中缺少JAR。它在一個環境中運行的事實可能會讓你入睡,認爲你正在做的一切都正確,但如果你相信編譯器告訴你什麼,你會更快地找到解決方案。

找到容納該類的JAR並找出如何將其放入CLASSPATH中。重複,直到錯誤消失。

+0

我檢查了JAR,SherlockFragmentActivity類在JAR中。這也在Android上,所以我不知道如何在運行時將JAR添加到CLASSPATH。 – Ethan 2012-03-09 05:41:31

+0

這個問題是否解決? – RaphMclee 2012-08-13 07:57:03

+0

這是我的IDE的設置問題 – Ethan 2012-08-19 04:02:46