2011-11-13 5 views
1

私はAndroid dev envをv15までアップグレードしましたが、ライブラリプロジェクトを参照できません。私はプロジェクトAppCoreと別のプロジェクトAppを持っています。 AppCoreはライブラリプロジェクトです(プロパティ - >アンドロイド - >ライブラリ)。AppはAppCoreを参照します(プロパティ - >アンドロイド - >ライブラリ - >追加;ビルドパスダイアログのライブラリタブに表示されます)。ライブラリプロジェクトでパスエラーを作成する

AppCoreは問題なくコンパイルされますが、Appはコンパイルされません。それは言う:しかし、ビルド・パス]ダイアログが任意のエラーが表示されない

は、「ビルド・パス・エラーが解決されるまでプロジェクトをビルドすることができません」。

私が作成した新しいプロジェクトと、以前に作業していたプロジェクト(アップグレード前に作業したことは言及する必要はありません)の両方で発生します。

オープン.classpathファイルをしたと示して、私は:

<?xml version="1.0" encoding="UTF-8"?> 
<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="output" path="bin/classes"/> 
</classpath> 

トライアル・エラーの多くの後、私は図書館の行を削除していない、そしてそれはもはや「ビルドパス・エラー」を訴え、もちろん、AppからAppCoreに使用される「クラスが見つからない」と主張しています。しかし、それは問題がそれに関連していると私に伝えています。

これ以上のアイデアはありますか?何かヒント?

+1

図書館プロジェクトの変更についてAndroid Devのブログ記事を読んだことはありますか? http://android-developers.blogspot.com/2011/10/changes-to-library-projects-in-android.html – C0deAttack

+0

私はそれを読んでいなかった、リンクのおかげで。しかし、それは私の問題とは関係ありません。私はすでにそれに気づき、ソースリンクを自分で削除しました。さらに、私の問題は古いプロジェクトからの移行に関連していません。新しく作成された「Hello world」プロジェクトでも発生します。とにかく、ヒントありがとう。 –

答えて

2

部分的な問題が見つかりました!

問題は、Appが辞書順にAppCoreの前にあることです。そのため、作業領域がクリーンアップされると、再構築が行われます。アプリケーションはコンパイルされますが、AppCoreの.jarファイルは使用できないため、失敗します。その後、AppCoreは構築されますが、Appは再試行されません。手動でクリーンビルドサイクルを再試行すると、問題は再び発生します。

しかし、私がクリーンビルドしていなくてビルドしていれば、コンパイルされます。

私はまだ特定の順序でクリーンビルドを強制する方法を理解しようとしています。 preferences - > general - > workspace - >ビルドオーダーはそれを定義しているようですが、それでも無視されるようです。

これ以上のアイデアはありますか?

+0

起動時にEclipseがうまくいけば、Mineはライブラリの構築に失敗しました。 Eclipseを再起動し、正しい順序でビルドしました。 – HannahMitt

0

アプリに.jarファイルが複数回含まれている場合、ビルドパスのエラーが発生します...これがあなたの側で起こらないようにしてください。もう1つの可能性は、インポートのために選択したオプションです。アプリケーションからAppcoreLibを削除してから、再度追加してから、プロジェクトをクリーンアップしてください。

0

は私がやってそれを固定し、以下:(これは、EclipseのADTのバージョンを使用して行われたが、適用可能であるべきである)

  • プロジェクトのプロパティ]> [Javaのビルド・パス>ライブラリ(タブ)
    • 次またはフィンをクリックしてAndroidのクラスパスコンテナ
    • を選択
    • ライブラリを追加]をクリックし、各図書館
    • を削除しますish
関連する問題