我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
我的问题在一个菜单文件里。 如果在菜单文件中引用了strings.xml中不存在的字符串,编译器似乎不会警告你。检查菜单XML文件中的项目是否引用了在strings. XML中不存在的字符串。通常在android:title。
其他回答
我想强调糞_爺的答案。
我重命名了一个颜色从“listcolor”到“color_list”,但我没有抓住其他布局之一是引用它。所以(突然)我所有的R.string. x和R.layout. x在'R'上都失败了。
最后,我查看了控制台窗口并查看了错误。我认为它们都是R没有被发现的引用,但实际上,其中一个是'listcolor'没有被发现。一旦我修复了这个,其他错误就都消失了。
也许Eclipse插件的未来版本将允许您重命名这些XML文件中的资源,并将其传播到对它的所有引用中。
r .类可能突然丢失的一个原因是XML文件中出现错误。例如,当您添加一个名称中带有大写字母的XML文件时,例如myCoolLayout.xml,这是不允许的。或者当您的引用不指向现有文件时,等等。
我没有看到它列在这里,但我遇到了我的R.java被删除的问题,不能自动重建。
我在处理switch语句和字符串时遇到了这种情况。Eclipse建议我将项目的遵从性更改为1.7,这立即破坏了项目(R.java),因为Android不能使用这种遵从性。
控制台:
[2013-03-12 17:26:33 - CrimeAtlas] Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
我通过使用“修复项目属性”修复了这个错误,然后像建议的那样查看日志。我注释掉了文件中的XML,提到用线性布局临时替换它们。当它被修复,砰,它重新出现(如果“自动构建”是打开的)。然后,如果没有任何错误,我可以将XML文件更改回来。
今天下午我第一次遇到这个问题。即使当我创建一个新项目时,也不会生成R.java。我改变了工作场所,一切都恢复正常了。
我改变了我的布局XML文件名,后来发现XML文件(小部件提供程序在这种情况下)仍然引用旧的布局XML不存在,这阻止了R类的自动生成/纠正。