我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?

我用的是Windows 7。

其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”


当前回答

我想强调糞_爺的答案。

我重命名了一个颜色从“listcolor”到“color_list”,但我没有抓住其他布局之一是引用它。所以(突然)我所有的R.string. x和R.layout. x在'R'上都失败了。

最后,我查看了控制台窗口并查看了错误。我认为它们都是R没有被发现的引用,但实际上,其中一个是'listcolor'没有被发现。一旦我修复了这个,其他错误就都消失了。

也许Eclipse插件的未来版本将允许您重命名这些XML文件中的资源,并将其传播到对它的所有引用中。

其他回答

对我来说,我已经链接了v7 appcompat两次。无论如何,在Eclipse中,右键单击包资源管理器或导航器中的项目名称,转到属性,Android,并取消选中库部分中的任何重复项。你可能需要构建->清洁之后。

还有另一种情况发生在我身上。当我在strings.xml资源文件中添加一个带有撇号的字符串时,就像

<string name="Today">Returns Today’s date</string>

它是通过将撇号改为另一种类型的撇号来修复的,比如´。

还要确保您拥有最新版本的ADT插件,并打开Android SDK管理器将所有SDK工具更新到最新版本。还要检查Eclipse本身中的更新。不匹配的版本给我带来了问题。

首先,检查Console输出。 然后,检查xml布局文件名称是否只使用小写。 纠正xml错误。 检查项目属性-> Android不熟悉的东西

这是我发现的又一个答案,之前的30个答案都没用。

我在strings.xml文件中发现了我的问题,尽管它非常非常奇怪。 我把我的应用精简到最低限度,这是唯一发现的东西。我甚至可以把它复制到一个全新的空白应用程序上。

在strings.xml文件中,它编译(并生成R.java文件):

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test_My_App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
</resources>

然而,这不是:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Hello world</string>
<string name="app_name">My_App</string>
<string name="action_refresh">Refresh</string>
</resources>

有趣的是,几天前我删除了action_settings。从那以后,我已经清理了我的代码,再也没有出现过任何问题。今天,我在strings.xml文件中添加了额外的字符串,在清理代码后,车轮脱落了。 此外,如果我重新排列相同的3个字符串行,并清理代码,则不会重新生成R.java文件。

这是我解决问题的方法。

我希望它能帮助到一些人……