最近我在R.java文件中遇到了一些问题。现在我决定进行备份并删除文件,看看会发生什么。
什么都没发生,所以我创建了一个空的R.java文件并希望最好。现在Eclipse似乎弄清楚文件被篡改甚至发出警告:
R.java was modified manually! Reverting to generated version!
这就是全部。我尝试手动构建它但没有结果。
所以,我有两个问题:
我将不胜感激任何帮助。像往常一样,问题发生在截止日期前几天:)
答案 0 :(得分:15)
我在编写Android应用程序时遇到了问题,因为无法生成R.java,看似无法解释的错误。
问题原因是我之前在构建期间杀死了Android模拟器。不要那样做!一个线索是几个遗留的* .out.xml文件的出现。
解决方案是选择项目,单击Project-> Clean,然后手动删除所有* .out.xml文件。只有这样我才能点击Run-> Run并成功构建。
还有一件事:我正在使用Eclipse。我必须确保在Package Explorer中选择了项目,而不是只是一些随机源文件。容易不注意!
答案 1 :(得分:7)
R.java是在构建时自动生成的。它的内容基于资源文件(包括布局和首选项)。
当你删除它时,它被重新创建,但是如果你创建了自己的,你将遇到麻烦,因为构建系统不会替换它。
您可以再次删除它(手动或选择Project-> Clean)并重建您的程序。
答案 2 :(得分:4)
我有过几次这个问题,而且大多数情况下是由于“res”文件中的一些错误引起的,检查所有res文件中的所有内容都是正常的,主要是XML,并且在你可以构建之后。
例如,此问题的两个常见原因可能是:
没有在XML文件的样式中正确拼写属性的名称。
没有正确关闭语言环境文件的XML中的字符串。
答案 3 :(得分:3)
我发现了问题 - 我创建了一个9patch图像,其补丁区域仅在Y轴上定义(我试图阻止在另一个上调整大小)。
问题仍然存在:为什么没有关于错误的警告?或者如果有 - 它埋藏在哪里?
答案 4 :(得分:2)
抱歉,请尝试检查Eclipse中的输出。可能是你有一些错误阻止Eclipse完成构建过程(检查你的AndroidManifest.xml,它是否正确?)。我的意思是,你应该检查你所有的资源文件(string.xml,layouts,...)和接口(* .aidl),可能存在一些阻止eclipse生成R.java的问题(语法不一致......)....
答案 5 :(得分:2)
我遇到了同样的问题,我使用大写字母命名了一个资源文件(.png图像)。 (ImageButton001.png代替imagebutton001.png)。
我改变了R.java回来的文件名。
Rgards, 涓
答案 6 :(得分:2)
如果可用内存不足,构建工具将无提示失败(Eclipse不会显示任何错误或报告错误日志中的任何内容)。关闭其他打开的应用程序(例如模拟器和浏览器),然后在应用程序清单文件中添加一个空格并保存。
答案 7 :(得分:1)
正如其他人所说,不要创建自己的R.java
文件。我刚开始使用Android时遇到了同样的问题,并且花了一些时间来弄清楚编译错误导致了什么。
你想用R.java
文件做什么?
答案 8 :(得分:1)
确保您的清单文件没有错误。 如果删除/res/values/strings.xml中的资源字符串app_name,则它不知道如何正确生成R.java。 我在执行HelloSpinner教程时发现这个问题。
答案 9 :(得分:1)
可以很好地了解的是,如果XML文件包含?,则不会重新生成R.java
并且错误不会显示在XML文件中(有时会在一段时间后显示)
我有一行类似于:
< string name="questionmark"\>?< /string> <br>
尝试改变?到了别的地方,看看R.java
文件发生了什么 - 为我工作
答案 10 :(得分:1)
正如ponkin所说 - 你可能只有一个问题导致R不能重新生成自己,因为你现在有一百万个问题。
不要试图自己创建R类。试着想一下你一直在搞乱的最后一个XML,并检查它是否有错误
我遇到了同样的问题here
答案 11 :(得分:1)
我发现不需要的资源导致了问题。一旦我删除了资源,就会生成R.java。
答案 12 :(得分:1)
我遇到了类似的问题,我在Raw文件夹中用大写字母重命名了.wav文件。当我更改为全部小写时,清理项目并重建R.java
罚款。
答案 13 :(得分:1)
我遇到了这个问题,要重建R.java
我剪切了我刚才正在处理的xml文件中的代码(如果这不起作用,请尝试其他文件),删除文件然后创建另一个文件使用相同的名称并将代码粘贴回其中。希望这会有所帮助。
答案 14 :(得分:1)
我遇到了同样的问题。我刚刚去了:
Project -> Properties -> Android
并为我的项目选择了正确的模拟器,在那一刻我有3种不同的选择。我意识到我在某个特定时刻改变了模拟器。所以尝试更改模拟器,这可能有所帮助!
祝你好运答案 15 :(得分:0)
我在另一个网站上看到这个,它帮助了我:
“如果这不能解决您的问题,请尝试修改您的AndroidManifest.xml
(只需添加一个空格并保存)。我听说这会强制R.java
重建。”
所以只需在清单文件中添加一个空格,然后重建!
答案 16 :(得分:0)
IntelliJ遇到了同样的问题。问题是我在strings.xml
中定义了两次app_name由于某种原因,IDEA检查没有自动选择它。
答案 17 :(得分:0)
作为旁注,通常那些* .out.xml文件是通过尝试构建项目而生成的,同时xml文件集中在编辑器中
答案 18 :(得分:0)
我有类似的问题。清理项目没有解决问题,代码中没有错误或文件名中的大写或空格。
当您选择PROJECT - &gt; CLEAN然后取消选中“立即开始构建”选项时,解决方案将进入弹出窗口。清理项目。关闭并重新打开Eclipse,然后构建项目(PROJECT - &gt; BUILD)。
问题仍然是为什么简单的清理和构建而不关闭Eclipse不起作用。