42

我正在做记事本教程,练习 2。我首先创建了一个新的 Android 项目,然后选择从源代码创建以导入下载的源文件以进行练习。

但是现在我在 Eclipse 中遇到了很多错误,问题是没有生成R.java类。我该如何解决这个问题?文件夹gen/是空的。


我有错误Notepadv2.javares/layout/note_edit.xml两者似乎都与生成R.java的缺失有关。

这是我的import陈述Notepadv2.java

import android.R;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter; 

它们是由 Eclipse 命令Ctrl+Shift+O创建的。

4

21 回答 21

75

去打。Project_ Clean除其他外,这应该重新生成您的 R.java 文件。

还要摆脱任何import android.R.*陈述,然后进行我提到的清理工作。

显然 Jonas 问题与不正确的目标构建设置有关。他的目标构建设置为Android 2.1 (SDK v7),其中他的布局 XML 使用Android 2.2 (SDK v8)元素(布局参数match_parent),因此 Eclipse 无法正确生成导致所有问题。

于 2010-11-03T10:19:34.173 回答
39

经过一整天试图找出为什么没有生成 R 文件后,我发现在安装 Android SDK Tools r22 后,工具中有一个新选项可用:Android SDK Build Tools。

安装后再次生成 R 文件。

于 2013-05-21T16:20:57.937 回答
8

现在您已经导入android.R而不是您自己的 R... 如果您的某个 xml 文件中有错误,请尝试查看您的“问题”视图...摆脱import android.R并注释掉 R 的所有用法。*

当您的项目没有其他错误时,清理应该会有所帮助,因此请检查您的 res 文件夹中的 xml 文件或文件命名

于 2010-11-03T10:45:58.190 回答
4

可能您使用的 SDK 版本不正确。右键单击您的项目。选择属性-->Android。请注意,2.2 是最新的 SDK。检查它,看看它是否被编译...

编辑

之后也做一个清洁

于 2010-11-03T10:34:18.560 回答
4

I Had a similar problem

识别此问题的最佳方法是识别 Lint 警告:: *右键单击project​​ > Android Tools> Run Lint:Common Errors *

  • 这有助于我们显示一些错误,通过这些错误我们可以修复使 R.java 再次重新生成的问题
  • 通过执行上述步骤,我发现我添加了一些我没有使用过的图像文件 -> 我删除了它们 -> 这解决了问题!

最后清理项目!

于 2013-08-09T11:03:56.820 回答
3

我的同事有这个问题 - 重启 Eclipse 修复了它。

于 2010-11-03T10:24:36.440 回答
3

在 Android SDK 管理器中更新 Android SDK 工具以获取 22.0.1 版本。它对我有用。

于 2013-05-29T10:32:24.553 回答
2
  1. 从代码中删除“import R.java”行。它由 Eclipse 完成以解决问题。
  2. 转到“note_edit.xml”文件。无论您在何处找到“match_parent”作为属性值,都将其替换为“fill_parent”或“wrap_content”。
  3. 做一个干净的构建。R.java 将自动生成。

如果您遇到此问题,则表示您的内容不支持“match_parent”属性。相反,使用“fill_parent”。

“fill_parent:视图应该与其父级一样大(减去填充)。从 API 级别 8 开始不推荐使用此常量,并由 match_parent 替换。”

于 2010-12-20T08:57:55.743 回答
1

你安装了安卓插件吗?

您的项目必须是 android 类型。

于 2010-11-03T10:19:56.943 回答
1

这实际上是教程代码中的一个错误。我遇到了同样的问题,我终于意识到问题出在“note_edit.xml”文件中。

一些 layout_heigh/width 属性被设置为“match_parent”,这不是一个有效值,它们应该被设置为“fill_parent”。

这引发了一个错误,导致 R.java 文件的生成失败。因此,如果您遇到此问题或类似问题,请检查您的所有 xml 文件并确保它们都没有任何错误。

于 2011-05-23T16:32:44.583 回答
1

我刚刚遇到了一个问题,以前工作的项目停止使用所有引用 R 的内容作为错误发布,因为没有生成 R.java。

** * 检查控制台视图* *

我(使用finder)备份了主图标(甚至没有使用),所以其中一个res文件夹(hdpi)有

icon.png icon.png 的副本

控制台指示“icon.png 的副本”不是有效的文件名。其他任何地方都没有标记错误 - res 文件夹中没有红色 X....

但是用“_”替换空格,一切都恢复正常了....

于 2012-08-08T05:07:20.397 回答
0

我也遇到过R.java丢失等问题,当没有错误时,eclipse 抱怨我的代码中有错误(对类文件显示红色 X 图标)。

我发现解决这个问题的唯一方法是通过选择来清理项目Project > Clean

这似乎解决了我自己的问题,运行 Eclipse 3.5.2

于 2010-11-03T10:22:55.893 回答
0

我多次遇到这个问题。根本问题是

  1. 项目设置中没有选择目标sdk版本

或者

  1. 文件 default.properties(在 manifest.xml 旁边)丢失或未设置最小 sdk 级别。

检查这两个并按照早期选项中的建议进行干净的构建,它应该可以正常工作。

检查“问题”或“控制台”选项卡中的错误。

最后:你有/eclipse对项目文件夹有写权限吗?(也不太可能是磁盘空间)

于 2010-11-03T10:25:13.947 回答
0

是的,我有同样的问题。我通过从工具栏中选择项目来修复它清理项目还重置构建自动选项有时需要更改 xml 文件匹配格式的名称 [az] [0-9] 必须是大写字母改变了

于 2010-11-03T12:37:05.177 回答
0

似乎当您更改为最新的 SDK (2.2) 时,构建不再生成 R.java 文件。或者至少不是我们习惯的方式。要解决此问题,请删除 gen 文件夹下的包并在不构建的情况下进行清理。这为我解决了这个问题。

于 2010-11-24T05:03:48.027 回答
0

由于Android插件中的一些内部错误,我遇到了这个问题。当我尝试打开一些布局 xml 时,出现错误:

The project target (Android 2.2) was not properly loaded.

幸运的是,在我的情况下,重新启动 Eclipse 并清理项目有所帮助。

于 2012-03-02T09:20:11.667 回答
0

例如,这也可能是 xml 布局文件不正确的问题。如果您的 xml 文件无效(包含错误),则 R 文件将不会在清理后重新生成。如果您修复此问题,将再次自动生成 R 文件。

于 2013-01-10T10:50:14.133 回答
0

根据我的经验,我可以总结:

1.问题主要是xml文件可能出现的语法问题。

2.您可能会不小心将 AndroidManifest.xml 复制到子文件夹中。

1.一个文件是未定义的扩展名。

检查所有这些后,转到 Project->Clean 或删除 /bin 和 /gen 文件夹。

于 2013-05-10T15:46:02.397 回答
0

只需重新启动Eclipse 即可解决此问题,因为工作区将重新构建!去

文件 -> 重新启动

这是通过进入构建,属性,等等来避免挫败感的最简单方法......

于 2013-12-27T12:41:48.240 回答
0

这是另一个:我正要哭,但设法让我心爱的人R.java回来:

我已经有一段时间没有更新我的 Android 安装中的任何内容了。我需要一个功能并运行 SDK 管理器。除了我需要的东西,我基本上检查了它想要更新的所有东西。之后我R.java在 Eclipse 中消失了。

To make it short, in the SDK Manager there was a new entry "Android SDK Build-tools" that I guess wasn't there the last time I had updated. It's kind of an obvious name, really. After I installed that one Eclipse gave me my R.java back.

于 2014-01-28T17:37:59.510 回答
-1

java ....而不是调试..或从您的代码中删除“import R.java”行。它由 Eclipse 完成以解决问题。转到“note_edit.xml”文件。无论您在何处找到“match_parent”作为属性值,都将其替换为“fill_parent”或“wrap_content”。做一个干净的构建。R.java 会自动生成

于 2011-06-16T12:03:34.917 回答