2012-02-15 5 views
2

При использовании Марк Мерфи MergeAdapter все отлично компилируется, но при привязке ListView происходит я получаю сбой из-за ошибки при вызове метода addAdapter():Возникли проблемы с MergeAdapter

java.lang.NoClassDefFoundError: com.commonsware.cwac.sacklist.SackOfViewsAdapter

SackOfViewsAdapter jar-файл существует в каталоге libs проекта cwac-merge.

Я проверил демонстрационный проект, который поставляется вместе с проектом, и я не вижу ничего, что у меня есть, но я получаю исключения NoClassDefFoundError, когда пытаюсь запустить его.

У меня такое ощущение, что это проблема с конфигурацией Eclipse, но я пробовал все, о чем я могу думать.

Любые идеи?

** Обновление: SackOfViewsAdapter также отображается как справочная библиотека в проекте cwac-merge.

** Обновление 2: Мой .classpath:

<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="src" path="gen"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> 
    <classpathentry kind="lib" path="/Users/colsen/Projects/android/cwac-merge/libs/CWAC-SackOfViewsAdapter.jar"/> 
    <classpathentry kind="output" path="bin/classes"/> 
</classpath> 

** Update 3 - скопировано SackOfViewsAdapter местному ЛИЭС реж.

<classpath> 
    <classpathentry kind="lib" path="libs/CWAC-SackOfViewsAdapter.jar"/> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="src" path="gen"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> 
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> 
    <classpathentry kind="output" path="bin/classes"/> 
</classpath> 

ответ

2

Сосуд файл SackOfViewsAdapter существует в LIBS Dir проекта cwac-слияния.

Похоже, что вам нужно добавить SackOfViewsAdapter.jar к вашему Eclipse, путь сборки проекта с помощьюMergeAdapter. Несмотря на то, что ссылка на этот проект библиотеки работает во время компиляции, он не будет работать во время выполнения.

Я только что обновил файлы проекта проекта Eclipse demo/, чтобы отразить это.

Приносим извинения за трудности.

+0

Эй, Марк, я ранее пытался ссылаться на файл jar непосредственно из моего проекта, но все равно не мог заставить его работать. Я обновил вопрос, чтобы показать мой файл .classpath, который, по-видимому, соответствует вашему объявлению, которое вы только что сделали. https://github.com/commonsguy/cwac-merge/commit/d93d797eafae347e12714a25224b02ec96c687e7 – chris

+0

@chris: Попробуйте скопировать JAR 'SackOfViewsAdapter' в проект вашего хостинга и добавить его в свой путь сборки, вместо ссылки на один из вашего' cwac- merge'. Я также понял, что ошибка, которую я видел, была немного иной, жалуясь на отсутствие «MergeAdapter $ EnabledSackAdapter». – CommonsWare

+0

Как показано в .classpath выше, я попытался переместить банку в папку libs, но я все равно получаю ту же ошибку. Я также попытался переместить файл merge.jar в каталог libs, но он все еще не работает (я получаю симулятивную ошибку, но для файла jar MergeAdapter). Я также попытался сыграть с порядком libs в списке include, но я все равно получаю ту же ошибку. – chris

Смежные вопросы