Eclipse错误:R无法解析为变量

时间:2013-05-20 04:26:53

标签: android eclipse

我在Eclipse IDE中遇到这个经典错误。我厌倦了Eclipse的错误。他们让我疯了。

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

我的项目工作正常但不是代码更改。

我发现我的代码更改并未作用于我的应用程序(在AVD上),然后我清理了我的项目(在Project > Clean...下)。 R.java文件已消失且res文件夹为空。

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

我该怎么办?

此外,我尝试删除项目并使用Android Project from Existing Code再次创建,之前我已备份。清洁后它已经出现相同的错误。

任何想法都会受到赞赏。

6 个答案:

答案 0 :(得分:121)

我假设您已使用版本22更新了ADT,并且未生成R.java文件。

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

希望你知道Android studio有gradle构建工具。与eclipse相同,他们在Tools文件夹中给出了需要安装的Android SDK Build-tools的新组件。打开Android SDK Manager,选择新添加的构建工具,安装它,在更新后重新启动SDK Manager。

enter image description here

答案 1 :(得分:17)

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

在阅读Paresh的答案并检查我的sdk经理发生了什么后,这就是我所看到的: enter image description here

未安装SDK Build-tools 17并且已经对SDK工具进行了新的更新,即使它没有在changelog中提及与此问题相关的任何更改,此更新还带回了我的R.java文件及相关问题在项目重启和最终清理/重建之后,它们已经消失了。

答案 2 :(得分:9)

如果布局包含错误,则无法生成R文件。如果您的res文件夹为空,则可以安全地假设没有res/layout文件夹中包含任何布局,但您的活动可能正在调用setContentView并且找不到任何内容 - 符合条件这是你布局的一个问题。

答案 3 :(得分:4)

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

  • android.R
  • your.package.name.R

选择与您的包名对应的R,您应该好好去。希望有所帮助。

答案 4 :(得分:4)

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

答案 5 :(得分:1)

我有一个完全正常工作的项目,我在更新SDK后发生了一些小改动。 Eclipse更新了SDK和ADT,但我仍然无法构建项目。 Exlipse表示没有进一步的更新。

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