2

これについてはたくさんの質問がありますが、この問題に対する明確な解決策を提供するものはありません (本当に難しいのでしょうか?)

Android プロジェクトに jar を追加しようとしています。r17 以降、Google は、jar を/libsフォルダーに追加する必要があり、残りは android ツールが処理すると述べています。

非常に大きなライブラリを含めましたが、1 つのクラスを除いてうまく機能するため、独自の jar を作成してみることにしました。

新しい Java プロジェクトを作成し、単純なTestクラスを追加しました。次に、それをjarとしてエクスポートし、jarを手動で/libsフォルダーにコピーしました。問題なく Android アプリをクリーンアップして再構築しましたが、実行時に Test クラスを参照すると、次のエラーが発生します。

java.lang.NoClassDefFoundError: mytestpackage.Test

jar のソースをプロジェクトに直接含めると、(もちろん) 機能します。

それで、私は何を間違っていますか?

4

3 に答える 3

1

さて、1日苦労した後、ライブラリプロジェクトでコンパイラレベルが1.7に設定されていることがわかったので、jarをエクスポートすると、Androidがサポートするよりも高いコンパイルレベルでエクスポートされました(1.6) .

したがって、エクスポートするjarのプロジェクトでの解決策: Properties-> Java Compiler-> Enable specific settings-> Compiler compilance level-> 1.6

それは私のためにそれを修正しました、私はそれが役に立つことを願っています.

于 2013-05-16T20:14:22.740 に答える
1

r17 以降、Google は、jar を /libs フォルダーに追加する必要があり、残りは android ツールが処理すると述べています。

正しい。

それで、私は何を間違っていますか?

私が推測しなければならなかった場合、JARをにコピーすることに加えてlibs/、Eclipseで「ビルドパスに追加」も行いました(他の回答による)これは必要ないだけでなく、レポートによると、これを行うと、JAR をlibs/APK に実際にパッケージ化することが何らかの形で抑制されることが示されています。実際にこれを行った場合は、手動のビルド パスの変更を元に戻し、それが役立つかどうかを確認してください。

于 2013-05-14T20:45:03.503 に答える
0

.classpath を更新する必要があります。Eclipse で、ライブラリをマークし (/libs に配置)、Right click->Build Path->Add to build path

于 2013-05-14T19:31:42.063 に答える