2012年11月23日金曜日

Androidアプリで "R cannot be resolved to a variable"エラー

どうも、俺@3連休です。
最近はAndroidアプリの開発にも手を出しております。

サーバサイドはvimでコーディング、iOSアプリはxcodeで開発してたのですが最近はもっぱらeclipseです。
eclipseの豊富な機能に圧倒されております。

さてタイトルの件ですが、Androidアプリ開発をしてるとたまに目にするエラーのようで、ググルと多くのサイトに解決方法が書いてますね。
原因はプロジェクト内のgenディレクトリ内に生成されるR.javaが消えてなくなってたり、更新されなくなってたり、ということのようです。
R.javaはリソースに関するデータを扱う自動生成されるプログラムファイルです。

なぜ消えてなくなったり、更新されなくなるのか?の部分を直してやれば解決します。
そのいくつかをご紹介します。

■解決方法
・CleanしてBuildしてやる。
・eclipseを再起動。
・eclipseを終了して、プロジェクト内のgenディレクトリをまるごと削除しeclipse起動。
・resディレクトリ以下にあるxmlファイルに記述ミスがあるので直してやる。
 →consoleにエラーログが出力されているはずなのでチェック。
・なぜか別の android.R; がインポート宣言されちゃっている。それじゃないです。
 →あったら削除。

ちなみに僕も同様の現象が発生し、そのどれを試しても直りませんでした。
ですがMacごと再起動しeclipseを立ち上げたらなぜか直りました。
超レアケースかも知れませんが、最終的には開発端末ごと再起動でなんとかなるかも知れませんよ!


以上でぇぇえぇぇす。


0 件のコメント: