我只是尝试在 Eclipse 的项目工作区中导入一个示例项目,但甚至没有触及代码,它给出了大量的错误,所有这些错误都表明 R.java 无法转换为变量。但是文件 R.java 根本不存在于树结构中,我不知道它去了哪里。现在,当我创建一个新的 Android 项目时,它也会在该新项目中再次出现相同的错误。我经常遇到这个问题,这对我来说是一个很大的障碍..
谁能告诉问题的原因和解决方案?提前致谢。
一些背景知识:R.java 是从您的项目资源中自动生成的。当您向项目添加布局或可绘制资源之类的内容时,Android SDK 将为您编译并为其分配资源 ID,而 R.java 类保存这些 ID。
有时,在导入示例项目时,Eclipse 无法(或需要很长时间)根据资源生成 R 类,同时您会看到这是一个错误。如果您尝试使用自动导入修复程序 (Ctrl+Shift+O) 修复错误,问题会变得更糟,因为 Eclipse 会添加import android.R
到您的文件中,这是不正确的(如果您在任何文件中发现它,请删除它) .
这种情况下的解决方案通常是清理项目(Project | Clean)并重新构建它,它应该可以正常工作。
但是请注意,如果您看到多条错误消息,则可能隐藏了问题的真正原因——例如,如果您的某个资源文件的 XML 中存在语法错误,这可能会阻止 SDK 生成资源,这反过来又阻止它生成 R.java。因此,请仔细检查以查看是否没有关于 XML、drawable 等上的解析错误的错误消息。
希望这可以帮助。
也许您忘记将相关库添加到您的项目中?
要转到 Screen1 和 2 ,请从包资源管理器中右键单击您的项目,然后转到属性。
查看问题窗口 screen3,窗口 -> 显示视图 -> 问题
屏幕一
屏幕 2
屏幕 3
更改文件target=android-X
中的project.properties
,替换X
为示例项目所在的api级别。例如,如果您从
sdk-path\samples\android-17
dir 导入示例项目,则将其替换为target=android-17
然后重新构建项目。
通常是未正确安装 Android SDK 的标志。经常发生在我身上,我必须重新指向 SDK 并包含适当的库。
确保您的源文件不包含像...这样的导入
import android.R;
此外,请检查您的 XML 文件是否正确,因为您的 XML(res 文件夹下的布局等)中的错误可能会导致此问题。
另一个原因可能是您重命名包但未在 AndroidManifest.xml 文件中更新包名称。
也许您在资源(res 文件夹)中有错误。如果资源中没有错误,请尝试 Project -> Clean。
Whelp,在研究了这个地狱之后,似乎没有任何工作。然后,在墙上论坛的某个洞中,我找到了一个简单而有效的解决方案。确保 Eclipse 指向正确的 SDK 目录。我不知道我是怎么做到的,但我安装了 2 个 SDK,我正在使用的那个看起来不错,但我有 eclipse 指向一个随机的。
在 elcipse 中更新 SDK 的路径后,R.java 文件开始正确编译。这是没有任何人建议的基本检查。如果您遇到此问题,请花 15 秒时间仔细检查。可以为您节省 3 个小时的 Eclipse 故障排除时间。
我刚刚在我的电脑上测试了这个,我得到了它的工作。现在,此解决方案不适用于所有样本。它适用于名为 ApiDemo 的项目,但不适用于 MapsDemo。您遇到此问题的原因是因为您没有采取正确的步骤。如果您按照您的说法导入,那么您将遇到这种问题。
这是导致此错误的错误方法:
在项目资源管理器中 - 导入 - 现有项目到工作区
如果你这样做,那么是的.. 你的 R.java 文件将不会被创建。
这是正确的做法:
点击新建 - 项目 - 选择“Android示例项目” - 现在您可以选择您选择的构建目标 - 选择您想要的项目并点击完成。
在运行此项目之前,您必须首先执行以下操作:在 Eclipse 中 - 转到项目 - 并单击“清理”。
现在您将能够运行该项目。