読者です 読者をやめる 読者になる 読者になる

It's okay to be weird

レールの無い道を行くプログラマーのブログ

【Android開発】【Eclipse】Androidライブラリがプロジェクトと違うドライブに存在すると参照できない

またまたAndroid Trainingで詰まっていたのでメモ。
Android 2.1以上をサポートするAction Barを設定する際に詰まってしまった。
当該ページ: Setting Up the Action Bar | Android Developers

問題

手順通りやったのに、

<activity android:theme="@style/Theme.AppCompat.Light" ... >

を入力したところで、

No resource found that matches the given name (at 'theme' with value '@style/Theme.AppCompat.Light')

というエラーになってしまう。

原因

Action Barを設定したいプロジェクトと、Androidライブラリが、違うドライブに存在すると*1、参照が出来ずエラーになるのが原因。自分の場合はAndroid SDKをCドライブ、EclipseのworkspaceはEドライブにしていた。
EclipseとADTの組み合わせで起こるバグらしい。

解決法

Androidライブラリ*2をImportする時に、"Copy projects into workspace"にチェックを付けておけばOK。これでworkspaceにライブラリがコピーされエラーが無くなる。

参考リンク:
Ken's Blog | Android Referenced Libraries can't be on different drive/partition from your Eclipse Projects
In eclipse, unable to reference an android library project in another android project - Stack Overflow

*1:つまり、Android SDKをプロジェクトと違うドライブにインストールしていた場合

*2:Android Trainingの当該ページの場合は"android-support-v7-appcompat"