エラー解決法

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

 
この記事では「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 でエラーを細かくご確認ください。
 
 

ABOUT ME
Sara
「わかりやすく・シンプル」をモットーに、スマホアプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
あなたにオススメのプログラミング講座

この講座では Android Studio で簡単なアプリを開発しながら Java の基礎・Android 開発を学ぶことができます。

Android 開発に興味がある方、Java に一度挫折してしまったという方にオススメの講座です。

guest
0 Comments
Inline Feedbacks
View all comments
0
この記事にコメントするx