2

Mark Murphy の MergeAdapter を使用すると、すべて正常にコンパイルされますが、ListView バインディングが発生すると、addAdapter() メソッドを呼び出すと、次のエラーでクラッシュします。

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

SackOfViewsAdapter jar ファイルは、cwac-merge プロジェクトの libs ディレクトリ内に存在します。

プロジェクトに付属のデモ プロジェクトをチェックアウトしましたが、実行しようとすると 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 をローカルの libs dir にコピーしました。

<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>
4

1 に答える 1

2

SackOfViewsAdapter jar ファイルは、cwac-merge プロジェクトの libs ディレクトリ内に存在します。

を使用しSackOfViewsAdapter.jarて、プロジェクトの Eclipse ビルド パスにも追加する必要があるようです。これに対するライブラリ プロジェクトの参照はコンパイル時に機能しますが、実行時には機能しません。 MergeAdapter

demo/これを反映するために、Eclipse プロジェクト ファイルを更新しました。

お手数をおかけして申し訳ありません。

于 2012-02-15T20:08:39.500 に答える