cannot resolve symbol R 的解决办法

在使用Android Studio开发程序时,经常出现在修改XML文件或复制文件后出现cannot resolve symbol R(找不到资源文件)的提示,这大多数并不是由于代码错误造成的,在检查XML文件确认无误后重新sync下工程即可。

解决办法:

  • Build -> Clean Project
  • Tools -> Android -> Sync Project With Gradle Files

一般仅执行第一条后就可解决问题,如果你的代码中没有错误,那没什么这样的问题是第一条命令解决不了的,如果有,那么就继续执行第二条……

问题分析:

Android Studio作为一款较为“年轻”的编译器,还有很多地方做的不够成熟。

android studio在你修改了文件之后,会自动的保存修改,无须像其他文本编辑器一样手动 ctrl + s 保存,同时根据你的操作,android studio会自动生成一些文件,例如当你调用一个新的方法时,编辑器会自动提示你impot该方法的包,这些是非常方便的设定,在你对资源文件进行修改之后(修改或者复制、删除了资源文件),android studio会自动重新生成R.java文件,如果这个文件生成失败,已编译的中间文件中找不到这个资源文件,于是就会出现这个提示 “cannot resolve symbol R”,此时需要清理中间文件或者重启Sync重新生成这个文件即可。

发表评论