0

ビルド パスに JAR が含まれている別の通常の Java プロジェクトに依存する Eclipse で Android プロジェクトを起動しようとしています。Android プロジェクトを起動するとNoClassDefFoundError、通常の Java プロジェクトのソース コードが JAR のコードを使用しているときにエラーが発生します。JAR を libs フォルダーに入れてビルド パスに追加する (さらには一番上に移動する) という解決策を試しましたが、これによりError generating final archive: Found duplicate file for APK: libs/gdx.jarエラーが発生します。視覚的に:

[JAR not in Android path]: Android Project -> Java Project -> Jar -> NoClassDefFoundError
[JAR in Android path]:     Android Project -> Java Project -> JAR -> Duplicate file for APK Error

具体的には、これは LibGDX プロジェクトです。再利用する一般的な LibGDX 機能をカプセル化する JAR を作成しました。デスクトップ プロジェクトを (ビルド パスを変更せずに) 実行すると、完全に実行されますが、Android プロジェクトは失敗します。この JAR を Android プロジェクトに適切に含めるにはどうすればよいですか?

4

2 に答える 2

1

JAR が「エクスポート済み」としてチェックされていることを確認します。プロジェクトを右クリック -> [プロパティ] -> [Java ビルド パス] -> [注文とエクスポート] タブ -> JAR エントリ (または「Android プライベート ライブラリ」) がチェックされていることを確認します。

同様のセットアップがあります(Libgdxプロジェクト間で共有するLibgdx依存の「共通」コードを含むプロジェクトを使用)。ただし、JAR をビルドする代わりに、プロジェクトを直接インクルードするだけです。(Java ビルド パス -> [プロジェクト] タブ -> [追加...])。CommonProject をすべての Libgdx プロジェクト (common、desktop、android など) に明示的に含める必要がありましたが、Libgdx 共通プロジェクトから android プロジェクトに「継承」していませんでした。JAR ファイルで同様のことを行う必要がある場合があります。

于 2013-08-13T19:22:37.203 に答える