更新后,Eclipse给出错误提示,缺少R.java文件。

73

我已经将我的 SDKADT 升级到最新版本,同时也将 EclipseJuno 升级到了最新版本 Kepler

我的 ADT 版本是 22.0。在升级后,当我创建一个新项目时,我遇到了错误,显示 R 无法解析为变量。我导入了 import android.R;,但它被标记为未使用,并提示 不要在此处包含 android.R;而是针对每个使用使用完全限定名称

在 Mac OS 上也出现了同样的问题。我尝试将 activity_main.xml 重命名为其他名称,但我的 R.java 仍未生成。

我尝试了所有可能的方法。清理了项目、构建了整个工作空间,但都没有帮助。

我认为在更新后,ADTEclipse 的兼容性存在问题。

我已经更新了整个 SDK,这是截图,但问题依然存在。

enter image description here


1
你检查过所有的xml布局文件了吗?因为布局文件中的错误可能会导致这个问题。 - Basim Sherif
你绝对不想导入 android.R,但是听起来你已经将其删除并清理了工程...所以这是一个问题... - TronicZomB
检查是否有问题显示在问题窗口中。 - Pragnani
你可以尝试在链接中接受的答案。https://dev59.com/ZXLYa4cB1Zd3GeqPUi0A#16583424 - Raghunandan
14个回答

171
更新SDK工具到22版本后,您可能需要再次启动Android SDK管理器并安装一个新项:Android SDK Build-toolsenter image description here 安装完成后,请清理项目并重新构建。

3
谢谢,安装后我重新启动了系统,现在它正常工作了。 - Anupam
1
我迫不及待地想开始使用IntelliJ了,希望执行SDK/ADT更新不会像Eclipse一样让人头疼! - dell116
谢谢,我在这该死的SDK和ADT更新上花了半天时间。重新打开Eclipse就可以了,不需要重启电脑。 - macio.Jun
@Krauxe。非常感谢!一旦Eclipse更新,所有项目都变成了灾难。你真的救了我的一天!哈哈 - user1914692
2
有人能指引我去官方来源看看他们何时宣布了这个新项目(Android SDK Build-tools)吗?他们不提前告知这样的更改真是太荒谬了。 - Tony Chan
显示剩余4条评论

6
昨天我使用SDK管理器进行了更新,遇到了和你一样的问题。我解决了这个问题:我再次使用SDK管理工具更新了Android SDK,然后在Eclipse中检查更新以安装最新的ADT插件并重新构建了项目。现在Android SDK管理器中的“Android SDK Build-tools”已经升级至版本17,现在一切正常。我认为问题出在Eclipse的ADT插件上。

2

从所有类中删除import android.R语句,然后进行清理操作,您的R文件将被生成。如果这没有起作用,请检查所有xml文件是否存在错误,然后再次进行清理操作。这两种情况是R文件丢失的最常见原因。


1
更改您的构建目标也可能会影响Eclipse中的R.java文件,因此:
右键单击项目 >> 属性 >> Android >> 选择最新(通常)的Android API平台 >> 点击确定
希望这对您有所帮助。

1

请按照以下步骤操作...

  1. 右键单击您的项目。
  2. 选择属性->Android 检查项目构建目标和 API 级别。
  3. 再次返回并打开 Android SDK 管理器,检查工具,并确保您已安装相应的 Android SDK 构建工具。

例如:如果您在属性中选择了 API 级别 17,则应安装 Android SDK 构建工具 17。


这似乎暗示了顶部答案已经建议过的内容...你是在谷歌上找到了答案并在StackOverflow上发现它,然后回来在这里发布的吗;-) - AndyG

0
我的问题是我在activity_main.xml文件中拼写错误了android:orientation,然后就出现了这个错误。我把拼写修正了,问题就解决了!所以请确保activity_main.xml没有任何错误。

0

尝试以下步骤:

  1. 在桌面上备份您的项目

  2. 关闭Eclipse

  3. 删除您的工作区

  4. 重新启动Eclipse并再次导入您的项目。


0
有时候当你解压文件时,会发现有一些部分丢失了。因此,在解压之前最好确保所有文件都被正确地解压,然后再运行eclipse。在此之后,运行一个简单的文件并安装avd插件,这对我的情况很有帮助。

0

我曾经遇到过同样的问题,我通过以下方法解决了它:

  1. 检查所有的xml文件和drawable文件名是否有大写字母,如果有,请将其改为小写,如果您正在使用选择器xml文件,则请检查在这些文件中链接的其他文件...所有文件都应该是小写。

  2. 进入显示错误的java文件并从导入列表中删除IMPORT R.java文件。

  3. 进入项目>>清理。

这应该可以解决问题。这就是我解决问题的方法 :)


-1
针对Eclipse用户: 注释掉包含 R.* 的所有行。 进行清理和构建操作。 R.java 将会被重新生成,然后取消注释 R.* 并且重新构建。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接