我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?
我用的是Windows 7。
其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”
当前回答
这是我发现的又一个答案,之前的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文件。
这是我解决问题的方法。
我希望它能帮助到一些人……
其他回答
如果使用Maven,所有这些答案都不能工作。我的解决方案是
<genDirectory>${project.basedir}/gen</genDirectory>
到android-maven-plugin的配置部分。
以下是对我有效而其他答案无效的答案:
创建新的Android应用程序项目, 从旧目录复制所有文件和文件夹(除了/gen)并替换! 在包资源管理器中刷新项目根目录。 如果还在,再清理一下! 完成了。希望这能有所帮助。
对我来说,我已经链接了v7 appcompat两次。无论如何,在Eclipse中,右键单击包资源管理器或导航器中的项目名称,转到属性,Android,并取消选中库部分中的任何重复项。你可能需要构建->清洁之后。
清理项目,关闭Eclipse,重新打开并启动我的项目,最终使我的R.java重新出现…希望能有所帮助
以我为例,在无休止地关闭IDE、清理、尝试构建等之后,问题是我的“res”文件夹中的一个“未命名文件夹”,我可能错误地添加了这个文件夹。
我希望Eclipse能输出这类错误,就像Ant脚本那样:
[null] invalid resource directory name: /Users/gubatron/workspace.android/my-project/res/untitled folder