web-dev-qa-db-ja.com

Eclipse Androidプロジェクト、ワークスペース内でライブラリを参照する方法は?

私はここで見つけたいくつかの手順(現在、URLが見つからない、申し訳ありません)を実行して、私のAndroidプロジェクトを、私のコードの99.9%がライブラリプロジェクトにあるレイアウトに変換しました、同じワークスペースの下に他の2つのシェルプロジェクトがあり、それらのほとんどはAndroidManifest.xmlファイルといくつかのリソースファイルだけです。これは、同じプロジェクトの2つのビルドをサポートできるように、テキスト/アイコンを少し変更しただけです。アプリケーション名も異なるため、両方をAndroid Marketで同時に公開できます。

私がこれを行って以来、コンパイルを10回おき、おそらく1日か2回おきに、 "dalvikエラー1"と "アクセスが既に存在します"に関するメッセージが表示されます(アクセスは最初の名前ですJava私のライブラリプロジェクトのユニット)。

問題を「回避する」には、Javaビルドしようとしているスタブプロジェクトのビルドパスに移動し、ライブラリタブからメインライブラリからJARファイルを削除します。その後、エラーなしでビルドできます。

その後しばらくして(多分1または2日)、スタブプロジェクト(ライブラリではない)をコンパイルすると、クラスが見つからないというエラーが表示されます。 Javaビルドパスに戻り、JARファイルへの参照を戻します。すべてが1日または2日間正常に動作し、それから同じに戻ります。以前のようにエラー。

これは既知の問題であり、私がする必要があることですか、それともプロジェクト/ワークスペースの再構成によって解決できますか?現在私は持っています:

Libプロジェクト-ビルドパスに2つのライブラリのみ:Android 2.1およびcom.Android.ide.Eclipse.adt.LIBRARIES

上記のlibを使用する最初のスタブプロジェクト-上記のプロジェクトと同じ2つのライブラリがあり、さらに「Add JAR」を使用して上記のプロジェクトのbin \フォルダーからのJARを含める場合があります。

2番目のスタブプロジェクト-最初のスタブプロジェクトと同じライブラリ

ビルドパスオプションの下にある他のタブのいずれかを使用して、「libプロジェクト」からJARを参照する必要がありますか?多分代わりに「プロジェクト」タブ、または「ソース」タブ?私は現在、それらの他の領域のいずれにもそれを持っていません。

奇妙な状態に入ると、「クリーンプロジェクト」を実行しても効果がありません。何度か試して、IDE=クリーニングの合間に開閉しましたが、解決できませんでした。

この時点で最終テスト段階にあるので、私の通常の毎日のタスクは次のとおりです。

  1. LIBプロジェクトでマイナーアップデート(バグ修正)を行う

  2. 公開ウィザードを使用して両方のプロジェクトをエクスポートし、AndroidマーケットおよびAPKファイルを保持するその他の場所を更新します

そのため、複数のワークスペースを開いたり閉じたりする必要がなく、可能な場合は多くのビルドステップを実行する必要なく、これらの手順をシンプルにしたいと思います。

19
eselk

古典的なEclipse/Javaの方法

(ワークスペース)ライブラリを追加する

  • 挿入するプロジェクトを右クリックします。
  • Propertiesをクリックします。
  • Java Build Pathを選択します。
  • Librariesタブを選択します。

これは、ライブラリのコンパイル方法によって異なります。したがって、Add JARs...またはAdd Class Folderを実行します。 externalバリアントを選択して、外部ソースを使用します。それでおしまい。

ワークスペースプロジェクトを追加する

  • 挿入するプロジェクトを右クリックします。
  • Propertiesをクリックします。
  • Java Build Pathを選択します。
  • Projectsタブを選択します。

右側のAdd...をクリックすると完了です。

追加のAndroid方法

2つのステップが必要です。

  • ライブラリプロジェクトとして使用するプロジェクトをマークします
  • マークされたプロジェクトを参照する

ライブラリプロジェクトをマークする

プロジェクトを右クリックして、Propertiesを選択します。左側のAndroidを選択し、チェックボックスIsLibraryを選択します。できました。

マークされたプロジェクトを参照する

プロジェクトを右クリックして、Propertiesを選択します。左側のAndroidとマークしたプロジェクトをAdd...を選択します。リストに追加され、使用できるようになります。これで、参照され、マークされたプロジェクトからすべてのクラスとリソース(ドローアブル、文字列など)にアクセスできます。すごいね:)

52
poitroae