In every instance in all of my classes where I reference R.id.something, the R is in red and it says "cannot resolve symbol R". Also every time there is R.layout.something it is underlined in red and says "cannot resolve method setContentView(?)". The project always builds fine. It is annoying to see this all the time. I have read many other questions on here about something similar but most involved importing projects from Eclipse. I am using what I believe to be the most recent version of Android Studio and the project was created with Android Studio and worked without any "cannot resolve R" problems. I would like to know what causes this if anyone knows.
当前回答
只需清理你的项目和同步项目与Gradle文件。
问题会得到解决。
其他回答
其中一个原因可能是,你最近修改了布局/资源文件,资源(字符串/颜色/可绘制等)在你的代码中不可用,但你在设计中使用了参考。
试着寻找这样的引用,删除/注释它们,并尝试重新构建。
我最近遇到了这个问题,清洁/构建等都没有解决它。我猜我在某个地方有一个问题,但不确定在哪里找到它(它是在清单,资源xml文件等?)
当出现问题时,您可以通过运行代码分析来找出问题所在。
从顶部的菜单中选择:
检查代码,使用'Default'配置文件扫描整个项目。
您的检查结果将包含一个名为“Android”的元素。在这里,您将获得导致资源和清单文件中出现问题的所有内容的列表。这些错误将打开生成的xml文件,并以红色显示任何错误。
我的确切问题是由于我使用基于flavor的清单文件,并且我意外地在flavor中的<application>标签内复制了一些权限。
更新:我确实有一个问题后,Android工作室仍然显示错误后修复,即使我现在可以构建和运行完美,而错误仍然存在。(我正在运行一个金丝雀构建,所以现在把它放下来)
如果你在移动java文件或目录到其他位置后看到这个错误,那么你可以保证Android Studio已经混淆了。你猜怎么着?撤销这些操作并不能解决问题。
所以你试着戒毒,但没用。
重启也不行。
但是试试文件->无效缓存/重新启动…->失效并重启
Android Studio维护哪些文件依赖于哪些其他文件的信息。由于移动文件没有正确实现,因此移动文件会导致错误。这还不是全部:这些依赖项的缓存被用于加速构建。
这意味着您不仅必须重新启动,而且还需要使这些缓存失效以恢复(或者更准确地说,重新构建)正常运行。
以上答案都不能解决我的问题。所以我添加了我的解决方案,以防有人遇到类似的问题。在我的构建中。我有gradle依赖,
compile 'com.android.support:appcompat-v7:22+'
我的compilesdk版本是 编译esdkversion 21,所以android工作室不高兴。我简单地更新了我的compilesdkversion到23,并进行了同步。
我还将依赖项更新为
compile 'com.android.support:appcompat-v7:23.1.1'
匹配我的支持库在工具—> Android—> SDK管理器—> SDK工具选项卡—> Android支持库—>版本。 现在一切都好了。快乐编码:)
我认为如果你把活动文件放到另一个文件夹而不是默认文件夹。你需要导入com.example.yourproject.R(这是你的项目R文件而不是Android。例如,在MainActivity文件中插入这一行:
import com.example.yourproject.R;
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件