R.java文件背后的魔法

Lam*_*gaR 18 eclipse android eclipse-plugin r.java-file

最近我在R.java文件中遇到了一些问题.现在我决定进行备份并删除文件,看看会发生什么.

什么都没发生,所以我创建了一个空的R.java文件,希望最好.现在Eclipse似乎弄清楚该文件被篡改甚至发出警告:

R.java was modified manually! Reverting to generated version!
Run Code Online (Sandbox Code Playgroud)

这就是全部.我尝试手动构建它但没有结果.

所以,我有两个问题:

  1. 我应该怎么做才能强制Eclipse重新生成文件
  2. 这里发生了什么?如何创建文件,生成文件的代码在哪里?

我将不胜感激任何帮助.像往常一样,问题发生在截止日期前几天:)

Sta*_*Jr. 15

我在编写Android应用程序时遇到了问题,因为无法生成R.java,看似无法解释的错误.

问题是由于我之前在构建过程中杀死了Android模拟器.不要那样做!一个线索是几个遗留*.out.xml文件的外观.

解决方案是选择项目,单击Project-> Clean,然后手动删除所有*.out.xml文件.只有这样我才能单击Run-> Run并成功构建.

还有一件事:我正在使用Eclipse.我必须确保该项目在Package Explorer中选择,而不是只是一些随机的源文件.容易不注意!


Tom*_*mas 7

R.java在构建时自动生成.它的内容基于资源文件(包括布局和首选项).

当你删除它时,它被重新创建,但如果你自己创建,你将遇到麻烦,因为构建系统不会替换它.

您可以再次删除它(手动或通过选择Project-> Clean)并重建您的程序.


Lam*_*gaR 3

我发现了问题 - 我创建了一个 9patch 图像,其补丁区域仅在 Y 轴上定义(我试图防止在另一个图像上调整大小)。

问题仍然存在:为什么没有关于错误的警告?或者如果有的话——它埋在哪里?

  • 它可能已经存在于某个地方,但是当我将它添加到项目中时,它就使 R.java 崩溃了,并且所有内容都变成了红色,因此很难注意到。 (2认同)