NoClassDefFoundError: com.actionbarsherlock.app.SherlockFragmentActivity Выпуск 4 - PullRequest
0 голосов
/ 09 марта 2012

Я получаю сообщение об ошибке с новой версией SherlockActionBar. Когда я запускал снимок, проблем не было. Обновленный до 4.0, теперь он выдает NoClassDefFoundError. Я компилирую против Android 4.0, вытаскивая библиотеку из репозитория Maven.

Вот код нарушения:

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 против самой последней.

1 Ответ

1 голос
/ 09 марта 2012

Это исключение обычно означает, что в вашей CLASSPATH отсутствует JAR. Тот факт, что он работает в одном контексте, может усыпить вас, думая, что вы все делаете правильно, но вы быстрее найдете решение, если верите тому, что говорит вам компилятор.

Найдите JAR, в котором находится этот класс, и выясните, как поместить его в CLASSPATH. Повторяйте, пока ошибки не исчезнут.

...