53

我在 Eclipse IDE 中遇到了这个经典错误。我对 Eclipse 的错误感到厌烦。他们快把我逼疯了。

我几乎尝试了所有建议的解决方案(通过谷歌搜索)。他们都没有工作。

我的项目工作正常,但没有代码更改。

我看到我的代码更改没有作用于我的应用程序(在 AVD 上),然后我清理了我的项目(在 下Project > Clean...)。R.java文件不见了, res 文件夹是空的。

现在我收到了这个错误:R cannot be resolved to a variable.

我应该怎么办?

而且我还尝试删除项目并使用Android Project from Existing Code我之前备份的再次创建。清洁后它已经给出了同样的错误。

任何想法,将不胜感激。

4

6 回答 6

122

我假设您已经用 22 版更新了 ADT,并且没有生成 R.java 文件。

如果是这种情况,那么这里是解决方案:

希望你知道 Android Studio 有 gradle 构建工具。与在 eclipse 中一样,他们在 Tools 文件夹中提供了需要安装的名为 Android SDK Build-tools 的新组件。打开Android SDK Manager,选择新添加的构建工具,安装,更新后重启SDK Manager。

在此处输入图像描述

于 2013-05-20T05:21:08.293 回答
17

我不是将此作为答案发布,而是对 Paresh 接受的答案的确认。我最近将 SDK 工具更新为修订版 22,我注意到我的代码更改对我正在测试的设备根本没有影响。例如我使用的 url,我收到关于我“以前”使用的 url 的连接超时错误。因此,我清理了项目并再次构建,却发现自动生成的 R.java 文件丢失了。

在阅读了 Paresh 的回答并检查了我的 sdk 经理的情况后,这就是我所看到的: 在此处输入图像描述

SDK Build-tools 17 没有安装,并且已经有一个新的 SDK 工具更新,即使它没有在更新日志中提到与这个问题相关的任何更改,这个更新带回了我的 R.java 文件并且相关问题已经消失了对项目进行 Eclipse 重启和最终清理/重建。

于 2013-07-03T12:01:31.130 回答
9

如果您的布局包含错误,则无法生成 R 文件。如果您的res文件夹是空的,那么可以安全地假设其中没有res/layout包含任何布局的文件夹,但您的活动可能正在调用setContentView并且没有找到任何东西——这就是您的布局有问题。

于 2013-05-20T04:29:25.040 回答
4

除了安装构建工具并重新启动更新管理器之外,我还必须重新启动 Eclipse 才能完成这项工作。

于 2013-06-18T12:56:23.883 回答
4

尝试删除导入行import com.your.package.name.app.R,然后,任何资源调用例如mView= (View) mView.findViewById(R.id.resource_name);会突出显示错误的“R”,“快速修复”会提示您导入 R,并且至少有两个选项:

  • 安卓.R
  • 你的.package.name.R

选择与您的包名称相对应的 R ,您应该一切顺利。希望有帮助。

于 2013-05-20T04:45:10.150 回答
1

我有一个完全可以工作的项目,当更新 SDK 后发生这种情况时,我正在对它做一些小的改动。Eclipse 更新了 SDK 和 ADT,但我仍然无法构建项目。Exlipse 表示没有进一步的更新。

问题一直存在,直到我从 eclipse 手动卸载 ADT 并重新安装它。只有这样我的项目才能建立。我在每一步之间重新启动了eclipse。

于 2013-06-18T13:47:28.813 回答