4

Android-Project で純粋な Java-Project を参照しようとしています -> Java-Project には、使用する必要があるクラスがたくさんあります。ああ、そして最初の応答が指摘したように:私はEclipseを使用しています、はい:)
唯一の問題は:メソッドcom.example.helloworld.MainActivity.onCreateから参照されるクラス「XXX」が常に見つかりませんでした。いくつかのステップまたはエラーを見逃しているようです...?
私がすでにしたこと:

  • プロジェクトはプロジェクトとして Java ビルド パスに追加されます (論理的には必要ありません)。
  • Javaビルドパスの「注文とエクスポート」でマークされ、一番上にプッシュされます(これにより、Jarファイルを扱うときにここで他の誰かの問題が解決されました)
  • Ir は、プロジェクト設定の「プロジェクト参照」にマークされています。
  • 関連するクラスがビルドパスの「ライブラリ」の下にあるフォルダーを追加しました...それが必要かどうかわかりません。

私が参照している Java プロジェクトには大量の Jar がありますが、それが理由である場合、別のエラー メッセージが表示されることはありませんか?

4

3 に答える 3

2

私は同じ問題を抱えていて、数時間の欲求不満と検索の後、最終的にここで答えを見つけました: Android、インポートされたjarファイルからクラスが見つかりません

基本的に、問題は、参照された pure-Java プロジェクトまたは生成された jar が Java 1.7 でビルドされ、Android プロジェクトが 1.6 を使用するように設定されていることです。

于 2013-09-22T16:05:42.967 に答える
1

これを行うには 2 つの方法があります。

  • その Java プロジェクトを jar し、その jar を Android プロジェクトの libs フォルダーにコピーします。
  • プロジェクトを依存プロジェクトとして Android プロジェクトに追加します

どちらも素晴らしく機能します。

ただし、この純粋な Java プロジェクトでは、rt.jar のようなものではなく、android.jar を追加する必要があります :)。そうしないと、Dalvik の例外が発生します。

編集: Android プロジェクトを更新してプロジェクトをクリーンアップすることを忘れないでください。

于 2013-09-23T03:17:30.560 に答える
0

確認する2つのこと(Eclipseを使用していると述べました):

  1. Android プロジェクトで pure-Java プロジェクトの JAR を使用する必要がある場合は、それらの JAR が pure-Java プロジェクトのビルド パス オプションでエクスポートされていることを確認してください。これは、含めようとしている android プロジェクトのビルド パスではなく、含めようとしている pure-Java プロジェクトのビルド パスにあります。pure-Java プロジェクトの [注文とエクスポート] タブで、「エクスポートされたエントリは依存プロジェクトに提供されます」というコメントに注意してください。この場合、android プロジェクトは依存プロジェクトであり、pure-java プロジェクトが貢献する必要があります。

  2. android プロジェクトに加えて、pure-java プロジェクトが実際に IDE で開かれていることを確認してください。おそらく些細なことですが、見過ごされることもあります。

回答が不十分な場合は、欠落しているクラスが .java ソース ファイルにあるかどうか、または純粋な Java プロジェクトのビルド パスの JAR にしか見つからないかどうかについて言及することをお勧めします。

編集:問題をさらに追跡するには、次のことを確認して、質問を理解していることを確認してください。

  1. pure-java プロジェクトは IDE で正常にビルドされます

  2. 「クラスが見つかりません」というエラーは、Android プロジェクトを試行してビルドしたときに発生するエラーであり、試行して実行したときではありません。

  3. CLASSPATH (別名ビルド パス) は、もつれを解くのが厄介な場合があります。プロジェクトのインクルードが機能しない場合 (ビルドされると仮定)、pure-Java プロジェクトの JAR をビルドし、それと他のすべての JAR を Android プロジェクトにコピー (およびインクルード) してみてください。

  4. 確かに、Android SDK はビルド環境を複雑にします。問題が (A) Android プロジェクトのセットアップ) なのか、それとも (B) pure-Java プロジェクトのパッケージ化の方法なのかを調べる 1 つの方法は、別の Pure Java プロジェクトを作成し、できれば - を使用して最初のプロジェクトを含めてみることです。可能であれば、Android プロジェクトでビルド エラーが発生したのとまったく同じコード行。

于 2013-04-18T10:02:58.113 に答える