この質問を書いているときに、どうにかしてそれを解決したので、他の人のためにここで繰り返します。最初の問題は次のとおりです。
別のプロジェクトで参照したい非常に単純なライブラリプロジェクトを作成しました。私は以前これを問題なく実行しましたので、なぜ今回はうまくいかないのか本当に分かりません。私は持っています:
プロジェクトプロパティを介してライブラリプロジェクトにフラグを立てました。 default.properties
ファイルには次のセットがあります:Android.library=true
私の他のプロジェクトでは、プロジェクトプロパティを介してライブラリプロジェクトへの参照を追加しました。 default.properties
ファイルには、期待どおりに参照が追加されています。つまり、Android.library.reference.1=K:/Android_test_ws/applicationRegistrar
参照されているライブラリプロジェクトに対する緑のチェックマークは緑から始まり、赤の十字に変わります。
これは、ライブラリプロジェクトで何かが間違っている/欠落しているに違いないことを意味しますが、私には何がわかりません。今回の私のライブラリプロジェクトは、以前作成したものよりもはるかに単純です。
OKこれは、ファイルシステムで参照プロジェクト(ライブラリではなく)のdefault.properiesファイルを探していたときに見つけた解決策です。参照プロジェクトはライブラリプロジェクトと同じEclipseワークスペースにありましたが、実際のファイルはファイルシステム内のどこかにありました。つまり、ライブラリプロジェクトの同じ親フォルダーにありませんでした。参照プロジェクトをライブラリプロジェクトと同じ物理フォルダーに配置するとすぐに、すべて正常になりました。
これは、Androidカバーの下に蟻を使用することと関係があるはずです。
編集:プロジェクト名は、ファイルシステム上のフォルダー名と一致する必要があります。プロジェクトプロパティ-> Android->ライブラリリファレンスに表示されているのは、相対ファイルシステムパスです。
両方のプロジェクトが同じワークスペースに存在することを確認してください。それを行うには、プロジェクトをインポートするときに、「プロジェクトをワークスペースにコピーする」チェックボックスがオンになっていることを確認します。
ライブラリプロジェクトが現在のワークスペースとは異なるパーティションにある場合、同じ問題が発生します。私は今、同じ問題を抱えています。私のgitソースはC:にあり、ワークスペースをD:に移動するだけで、すべてが崩壊し始めます。
ライブラリパスのパスを正しく取得する最も簡単な方法は、次のスクリーンショットに示すようにEclipseのGUIを使用してライブラリを追加し、Eclipseがproject.propertiesに正しい相対パスを配置できるようにすることです。ライブラリプロジェクトを、ライブラリを使用するメインプロジェクトとは大幅に異なるディレクトリでホストする一般的な設定です。この方法は、「libaryプロジェクト」とそれを使用するプロジェクトが同じEclipse「ワークスペース」にある場合に機能します(それらは同じ親フォルダーに「必要ない」)。
ライブラリプロジェクトが「Is Library」としてマークされていることを確認してください-ライブラリプロジェクトを右クリック-プロパティ-Android-「Is Library」チェックボックスをマーク-ライブラリプロジェクトのproject.propertiesで「Android.library = true」という新しいエントリが必要です。次の投稿で説明するように、必要なプロジェクトに追加します(統合された画像を含む投稿-Nilesh Pawarから)。
開発者がfacebookまたは他のライブラリプロジェクトを参照する場合、まず最初にEclipse-> project-> cleanプロジェクトからプロジェクトをクリーンアップします。参照画面で赤十字のエラーを許可したい。
私にとっては、Eclipseを再起動するだけで、追加されたライブラリは正常に機能します。
ライブラリプロジェクトを追加した後、初めて赤いマークが表示されます。 Eclipseのメインプロジェクトとライブラリプロジェクトは同じワークスペースフォルダーにあり、プロジェクトフォルダーの外側にリソースファイルはありません。
そのため、Eclipseを再起動してみてください。ハッピーコーディング...
同じ問題に関するさらに別の観察。
私にとって、2つのプロジェクトは同じ親フォルダーにあり、両方ともワークスペース内でローカルでした。それでも、問題はまだ発生していました。
「project.properties」ファイルを編集し、ライブラリプロジェクトの絶対パス(セパレーターの場合はスラッシュ '/'を使用)を入力しました。保存して閉じました。次に、プロジェクトのプロパティダイアログに移動し、ライブラリ(まだ十字アイコンを表示していましたがabsパスを使用)を削除し、通常どおりに追加し直しました。驚くべきことに、問題は解決され、プロジェクトがコンパイルされて実行されます。
これは本当に奇妙で、ADTのバグに違いありません。 ADTバージョン20.0.2を使用しています
Eclipseを再起動するだけです。それは私の問題を解決します
私の回避策は
私の問題を解決しました
私のワークスペースを変更しようとしたときに同じ問題が発生したため、これは私のソリューションです:
質問を投稿していただきありがとうございます。 FacebookをAndroidアプリケーションと統合する際にまったく同じ問題が発生しました。開発プロジェクトをライブラリプロジェクトのある同じWindowsドライブに移動することで問題を修正しました。ライブラリプロジェクトの場所は、別のドライブにある場合はdefault.propertiesファイルから適切に取得します。
ご参考までに、
私のために働いたのは、ワークスペースから「ライブラリ」プロジェクト(実際のプロジェクト)を削除し(ファイルを削除せずに)、ウィザードを使用してそれらを再インポートすることです(既存のAndroidプロジェクトをインポートソースコードから)。
前後の参照パスを見ると、「C:/ workspace/mylib」から取得され、正しい場所にコピーされると「../../mylib」に移動します。
受け入れられた答えに従いましたが、「project.properties」ファイルが読み取り可能であることも確認する必要がありました。
ファイルが読み取り専用(ソース管理にチェックイン)の場合、Eclipseはそれを編集しません。ライブラリ参照の追加は成功しますが、[OK]をクリックすると変更は保持されません。
設定ウィンドウを閉じて再度開くと、追加したライブラリが削除される場合、これが解決策である可能性があります。
Sufi Khanの投稿と同様に、再起動でもこの問題を解決しました。私の場合は、[プロパティ]-> [Android]に初めてアクセスしてライブラリを追加したときに、素敵な緑色のチェックマークが表示された点が異なりました。ダイアログを閉じたとき、Eclipseはまだクラスが見つからないタイプのエラーを表示していました。プロパティをもう一度確認すると、赤いXが表示されました。しかし、カーン氏の解決策(悪いライブラリを削除し、Eclipseを再起動し、ライブラリを再度追加する)は正常に機能しました。
ADTバンドルの0702バージョンを使用しています(「cluster」で始まり、「duck」で韻を踏む)。
ライブラリプロジェクトがまだ表示されない場合は、ライブラリプロジェクトプロパティにライブラリフラグを追加してみてください
追加Android.library = true
project.properties
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-Android.txt:proguard-project.txt
# Project target.
target=Android-17
Android.library=true