项目清理后,R.java消失了

时间:2010-10-09 16:01:02

标签: android eclipse

在我将一些.png文件添加到Project Workspace可绘制文件夹后,我在Eclipse中刷新了可绘制的文件夹,并显示了新添加的文件。但是当我尝试使用R.drawable.xyzimage访问这些资源时,xyzimage虽然在文件夹中无法解析。

所以我做了一个Project Clean并猜测在这个干净的R.java完全消失之后,我使用R.java访问资源的所有类都显示了各种错误,Eclipse不再允许我运行代码。

我有源代码的备份,但我想探索是否可以重新生成R.java以及如何?

感谢您的帮助。

34 个答案:

答案 0 :(得分:55)

在Eclipse中尝试Project-> Clean。在我有限的经验中,如果没有自动创建R.java,那么你的xml中就会出现错误。三重检查一切。

答案 1 :(得分:9)

您必须构建项目才能使用新添加的资源。

清理项目会删除所有自动生成的文件。构建项目应该自动创建它们。清理项目时,可以选择在清理后立即启动构建。

以下是您可以尝试的一些事项(手动删除“ gen ”目录后执行相同的操作。

  • 删除 gen 目录后,转到Project>干净......
  • 您应该有错误,表明R无法解析为变量。右键单击Package Explorer中的项目,然后选择Build Project。确保关闭自动构建选项(取消选中项目>自动构建)。
  • 关于R的错误现在应该已经消失了。现在,再次执行Project Clean。所有错误都应该消失。

请告诉我这是否适合您。

答案 2 :(得分:4)

这就是问题所在。我将这些新的png图像添加到项目中,并且android具有关于这些图像的名称中允许哪些字符的规则。一旦我更改了图像名称中的大写字母,它就再次回到正轨并且自动生成了R.java文件并且所有错误都消失了。 Eclipse控制台是我找到与我的资源相关的所有错误的地方。

谢谢大家....我尝试了你的解决方案,但我的错误是特定的,这是由于我的图像命名约定所以这是我修复它的方式。

答案 3 :(得分:3)

我同意这通常是一个XML问题,而且它是你的res文件夹中的问题,并且可以在干净尝试后用红叉突出显示。

我刚遇到这个问题,因为我在res文件夹中创建了自己的名为'data'的文件夹。清洁后,它有一个红色的十字架。我删除了这个文件夹并重新构建了R。

此致 标记

答案 4 :(得分:2)

您应该在项目中检查几件事:

  • 检查Eclipse IDE中的Problems选项卡。您确定在使用drawable进行更改时没有引入构建问题吗?要检查是否需要检查受影响布局的xml源,并查看是否有东西标记为红色。

  • 在文件资源管理器中,转到Android项目所在的目录。检查您是否有文件 default.properties (.classpath,.project和AndroidManifest.xml应该在那里)。如果缺少default.properties,则可以使用正确的版本轻松替换它。

  • 您使用的是哪个Android版本?如果是1.5或更低,请确保在 res 目录中有一个名为 drawable 的目录,而不是 drawable-hdpi drawable- mdpi drawable-ldpi 。最后三个版本适用于1.6及更高版本。

  • 在Eclipse中的Package explorer中右键单击您的项目。你会得到很多选择。转到Android工具 - >修复项目属性,看看是否有帮助。

答案 5 :(得分:2)

我的res / drawable文件夹中有一个无效的jpg。我删除了jpg并且它有效。

答案 6 :(得分:2)

我的Mac也出现了这个问题,我认为对所有Mac用户来说,如何设法解决这个错误可能会很好。

我有一个.DSStore文件自动导入res目录中的项目,当我删除它并重建项目时一切顺利。

答案 7 :(得分:2)

每次清理项目并重建时,都会导入

  

import.android.R

所以,删除此导入并从xml文件中删除所有错误。它会起作用。

答案 8 :(得分:1)

如果我将项目移动到新位置,就会发生这种情况。我发现上面的答案并没有解决我的问题,但创建一个新项目并导入源代码确实存在。

答案 9 :(得分:1)

检查控制台视图如果在消息错误中,它将帮助您找出问题的来源。 我有类似的问题,我发现问题来自图片名称,即使名称尊重语法,所以我将其更改为img1,它工作正常。

答案 10 :(得分:1)

例如,如果添加大写字母的外部资源文件 “Hello.png或WelcomeSound.mp3等”,如果你添加大写字母并清理你的项目,你肯定会丢失你的R.java文件。因此,如果您已经丢失了它,请在外部重命名该文件,然后清理项目,或者右键单击项目Refractor->重命名,然后使用下部框中的所有字母重命名文件。接下来,删除项目资源管理器中的“gen”文件夹,然后右键单击“构建项目”。如果Build Project选项显示为灰色,请转到Project->取消选择“自动构建”选项。

此致

Kshitij Thube

答案 11 :(得分:1)

这可能很简单但请检查以确保不使用

导入android.R;

答案 12 :(得分:0)

在简单地对一个项目进行清理后,我阅读并尝试了上述许多内容。之后Eclipse不会构建任何东西。

幸运的是,我在工作区的最后一晚备份,我的源代码是从VS 2010中复制的。

不再清洁了!

答案 13 :(得分:0)

首先:取消选中菜单>项目>自动构建。

二;菜单>项目>干净>选择您的项目,然后选中“仅构建所选项目”选项。

按确定按钮。

然后,Eclipse再次成功构建了R.java文件。

答案 14 :(得分:0)

从工作区删除项目,删除源删除,然后将其导入工作区。

右键点击您的项目 - >删除/不选择“删除磁盘上的项目内容(无法撤消)”/ - >确定

档案 - >导入 - >一般 - >现有项目进入工作区 - >布鲁斯 - > /寻找你的工作区(!)文件夹/ - >好的 - > /您清理的项目将自动检查/ - >完成

答案 15 :(得分:0)

我昨天在日常清洁后使用Eclipse Juno遇到了可怕的 缺少R 问题。 StackExchange充满了建议和广泛的谷歌搜索显示只有通常的嫌疑人(XML命名约定问题等),似乎没有一个直接适用,虽然我肯定可能错过了一些东西。

可能的原因和解决方案的最佳摘要综合列表如下:

http://www.techrepublic.com/blog/software-engineer/a-comprehensive-troubleshooting-guide-for-androids-r-cannot-be-resolved-error/

有一个有用的提示是尝试在我的工作区中创建并运行一个简单的“ Hello World ”。如果没有运行,则安装程序已损坏。我的Hello World和我的自定义应用程序一样充满了错误。

对我有用的解决方案(可能是极大的矫枉过正,但没有其他工作)是完全卸载Android SDK并删除Eclipse(Juno),下载Eclipse for Developers(Kepler)并重新安装Android ADT插件和ADK并重新创建我的AVD使用选项中最新的“编译”版本。

到目前为止一切都那么好,虽然我从头开始重新创建应用程序。从这里开始使用clean会更加谨慎。

答案 16 :(得分:0)

我刚才遇到同样的问题我将无效的png文件重命名为* demo.1.png,作为demo.png * 及其工作。

答案 17 :(得分:0)

有时这些错误的大小因mdpi和xhdpi而异。所以你必须检查mdpi和xhdpi的图像大小。否则检查命名约定。

答案 18 :(得分:0)

验证成功的方法,检查文件(AndroidManifest.xml)并删除其中的所有注释,并确保此文件中没有错误,我尝试过并与我合作。

答案 19 :(得分:0)

我遇到了同样的问题,但是在删除创建的自定义menuitem.xml之后,我能够重新生成R.java文件。

答案 20 :(得分:0)

对不起,如果我的英语不好。我有一个类似的问题,在制作清洁项目后,R.java文件将消失。但是擦除了GEN目录并再次构建项目,不会重新创建此文件。好的,所以评论我的图像名称,我意识到其中一个图像是GIF扩展。在我的项目中,我的目标是4.1并且是2.2分钟。对我有用的解决方案是: 1)删除GIF图像 2)删除目录GEN 3)右键单击项目选择Build Project。 我希望有人会工作。

答案 21 :(得分:0)

尝试编辑项目中的一行代码,然后再次构建项目。

答案 22 :(得分:0)

这件事发生在我身上。巧合的是,那天我需要更新我的adk,所以我这样做了,重新启动eclipse之后再次工作了。我的建议是构建项目并重启eclipse。这不是由于您的代码中的任何错误。

答案 23 :(得分:0)

如果您使用的是64位Ubuntu,请尝试安装32位库(ia32-libs)

$ sudo apt-get install ia32-libs 

它对我有用

答案 24 :(得分:0)

尝试项目 - >检查自动构建

答案 25 :(得分:0)

是否有生成“somthing.out.xml”命名约定的XML文件?如果是这样,您应该删除此文件(此名称的不需要的文件可能会导致您的somthing.somthing.R文件导入出现重大问题。)

在某些版本的eclipse中(我知道eclipse javaEE肯定会这样做),在查看XML文件时运行项目会在res-> layout文件夹中创建一个名为filename.out.xml的文件。如果发生这种情况,您必须删除此生成的文件,否则您将无法获取要导入的java.R文件。

答案 26 :(得分:0)

我清理项目时遇到了同样的问题。我疯了解决它,我搜索并搜索但是以我的方式解决了它。 首先,删除/ res文件夹中的所有不必要的文件。我有一些笔记,我把它们带到另一个我没有工作的项目,并手动构建项目。有效!试试这个我相信它会有所帮助。

良好的发展!

答案 27 :(得分:0)

我删除了'import android.R;'然后注释掉了有问题的线,然后进行了构建,确定

然后我删除了评论并修复了它

答案 28 :(得分:0)

只需检查您的图片文件夹(通常创建res>可绘制文件)并确保不要在.png文件上使用大写字母,每种类型必须是小写字母然后您可以再次找到您的R.java在gen文件夹下

答案 29 :(得分:0)

确保您的png文件具有小写名称。这就是扔掉我的东西,因为我把第一个字母大写了,或者我在命名中使用了一个不允许的非字母数字。在销毁任何代码之前检查一下。

答案 30 :(得分:0)

在Eclipse中执行R.*后,我的所有Project->clean文件都停止了工作。问题是我备份了一个附加到布局目录中我的一个活动的XML文件。这会导致我项目的每个活动出错。

删除文件后,我的一个R中仍然出现Activities个错误,只有在我尝试导入不同的文件然后删除它们后才会解决。我实际上没有改变以前的导入,但由于某种原因删除它们并重新粘贴它们修复它。

答案 31 :(得分:0)

经过大量清洁和一次又一次的建筑项目后,我遇到了同样的问题。我发现在控制台上有这个错误:

res/drawable-hdpi/Blue Blank.png: Invalid file name: must contain only [a-z0-9_.]

并且这不会在xml中显示为错误。我更改了名称并保存文件,清理项目和构建。现在它正在运作。我的建议检查您的res文件夹和您在其中使用的文件的名称,并仅命名[a-z0-9_.]

删除xml中的相关标签,保存xml,清理项目,构建项目。现在再次将该资源放入xml并保存!

答案 32 :(得分:0)

在drawable文件夹中检查您的文件,确保所有资源文件(图像)删除不需要的文件,如 thumb.db 。删除所有文件并再次检查

答案 33 :(得分:0)

另一件事:永远不要尝试使用xml文件打开texteditor来运行应用程序。这将创建一个奇怪的运行配置,只能通过项目清理来修复,有时可以使xml文件消失(发生在我身上两次)。