在 2019 年我遇到了同样的问题,我搜索了互联网,发现了以下我与大家分享的内容。
在 android studio 中,字母 R 代表资源,并且由于构建过程无法与您的项目同步资源而发生此错误。换句话说,这个错误是当 Android Studio 不能正确生成你的 R.java 文件时引起的。当您将代码转移到另一个系统或第一次构建 android 项目时,会发生此问题。因此,当您创建新活动或新类时,您会看到一条错误消息,例如“无法解析符号 r”,并带有红色下划线。
您可以在下面找到修复 android studio 中无法解析符号 r 的可能方法。
将项目 Gradle 更新到最新版本始终使用最新版本的 Gradle 以正常工作 android studio。
将项目与 Gradle 文件同步更新 Gradle 插件后,您需要将项目与 Gradle 文件同步。打开 android studio 并点击Files > Sync Project with Gradle Files 选项。
清理并重建项目 最有效的解决方案是最简单的:清理并重建您的项目。从 Android Studio 工具栏中选择Build > Clean Project,稍等片刻,然后通过选择Build > Rebuild Project来构建您的项目。
Invalidate Caches / Restart 如果您在移动一些文件和目录后遇到此错误,那么R.layout错误可能是由 Android Studio 的缓存与您项目的当前布局不匹配引起的。如果您怀疑可能是这种情况,请选择File > Invalidate Caches / Restart > Invalidate and Restart从 Android Studio 的工具栏中。资源名称的问题也可能会阻止正确创建 R.java 文件,因此请检查您没有多个具有相同名称的资源,并且您的文件名中没有包含无效字符。Android Studio 仅支持小写 az、0-9、句号和下划线,单个无效字符可能会导致整个项目出现 R.layout 错误,即使您实际上并未在项目中的任何位置使用此资源!
我的问题及其解决方案:就我而言,我应用了上述所有方法,但无法解决问题。因此,我开始了一个新项目,并一一粘贴了我的代码,并通过运行应用程序验证了我的代码。最后,当我第一次删除colors.xml中的代码并将下面的代码复制并粘贴到colors.xml文件中时,我得到了错误。
<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>
当我撤消更改时,错误再次消失。因此,我在 colors.xml 中的代码不是上面的代码,并且代码已经在 colors.xml 中,即
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
<color name="bg_login">#26ae90</color>
<color name="bg_register">#2e3237</color>
<color name="bg_main">#428bca</color>
<color name="white">#ffffff</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#888888</color>
<color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#5e6266</color>
<color name="btn_login">#26ae90</color>
<color name="btn_login_bg">#eceef1</color>
<color name="lbl_name">#333333</color>
<color name="btn_logut_bg">#ff6861</color>
“也许是因为我没有定义颜色原色”希望它会帮助像我这样的编程新手。