エラー解決法

【Android Studio】Cannot resolve symbol R エラーの原因と解決法

Sara

 
この記事では「Cannot resolve symbol R エラーの原因と解決法」を紹介しています。

記事内では Android Studio 3.6 のスクリーンショットなどを使用していますが、他のバージョンにも対応しています。

原因

「Cannot resolve symbol R」を直訳すると「シンボルRを解決できない」となりますが、簡単に言うとアプリを実行した時(コンパイル時)に R が見つかりませんというエラーです。

例えば drawable フォルダに dog.png という画像を置いたアプリを作成・実行すると R$drawable クラスに

.field public static final dog:I = 0x0f123456

のように dog.png の id が自動的に作成されます。

画像以外でも res フォルダ内にある layout や values など全ての要素に対して R クラスに id が自動的に作成されますが、これが何らかの理由で作成できなかった時に「Cannot resolve symbol R」エラーとなってしまいます。

コードをコピー&ペーストしたり、画像や音声ファイルの名前を変更したときに起きやすいエラーです。

解決法

ほとんどの場合、Android Studio を再起動することで解決できます。

Android Studio の閉じるボタンを押して終了しても良いですが、Android Studio には再起動ボタンが用意されているので、より安全に再起動できるようにそちらを利用します。

Android Studio のメニューバーから「File」→「Invalidate Caches / Restart」を選択します。

ここでは再起動したいだけなので「Just Restart」を押します。

Invalidate は「キャッシュの破棄」、Cancel は「キャンセル」、Invalidate and Restart は「キャッシュを破棄して再起動」です。 

完了

Android Studio が再起動されて、エラーが消えていれば完了です。

再起動してもエラーが消えない場合は、プロジェクトのパスやビルド設定が原因の可能性があるので、Logcat でエラーをご確認ください。

guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
0
この記事にコメントするx
記事URLをコピーしました