0

Androidプロジェクトでサードパーティのjarファイルを使用しています。Eclipseプロジェクト->プロパティ->Javaビルドパス->ライブラリ->外部jarを追加して、jarをビルドパスに追加します。

プロジェクトは、そのjarのクラスを使用するコード行が実行されるまで正常にコンパイルされ、実行時にクラスが見つからないという例外が発生し、プログラムがクラッシュします。

サードパーティのjarファイルをプロジェクトのlibsフォルダーにコピーすることで解決しました。クラスが見つからないという例外はなくなります。

質問:これが必要な理由と、正常にコンパイルされているにもかかわらず、プロジェクトプロパティからの参照で機能しないのはなぜですか?明示的にlibsフォルダーにコピーする必要があるのはなぜですか?

4

2 に答える 2

0

Eclipseプロジェクト->プロパティ->Javaビルドパス->ライブラリ->外部jarを追加して、jarをビルドパスに追加します。

これは、Androidビルドツールで使用するための適切な手順ではありません。

サードパーティのjarファイルをプロジェクトのlibsフォルダーにコピーすることで解決しました。クラスが見つからないという例外はなくなります。

正しい。

誰かがこれが必要な理由と、正常にコンパイルされているにもかかわらずプロジェクトプロパティからの参照で機能しない理由を明らかにしてください。なぜ明示的にlibsフォルダーにコピーする必要があるのですか?

のJARのみがlibs/APKファイルに追加されるためです。Javaビルドパスは純粋にコンパイル時のものであり、AndroidのAPKファイルのパッケージに関連付けられていません。

于 2013-01-31T20:13:12.673 に答える
0

「libs」フォルダー内のすべてのライブラリは、Android Eclipseプラグインによって検出され、プロジェクトの「AndroidDependencies」アイテムに追加されます。ここでのより良い図:http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

于 2013-01-31T20:18:54.337 に答える