我的项目中没有生成R.java文件

时间:2010-11-03 10:15:34

标签: android eclipse adt generated-code r.java-file

我在做Notepad tutorial, exercise 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 创建。

21 个答案:

答案 0 :(得分:74)

转到Project并点击Clean。除其他外,这应该重新生成您的R.java文件。

还要删除任何import android.R.*语句,然后进行我提到的清理工作。

显然Jonas问题与错误的目标构建设置有关。他的目标构建设置为 Android 2.1(SDK v7),其布局XML使用 Android 2.2(SDK v8)元素(布局参数match_parent),由于这样Eclipse就无法正确生成导致所有问题的R.java文件。

答案 1 :(得分:39)

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

安装后,R文件再次生成。

答案 2 :(得分:7)

现在您已导入android.R而非您自己的R ...如果您的某个xml文件中有错误,请尝试查看“问题”视图...摆脱{{ 1}}并注释掉R. *

的所有用法

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

答案 3 :(得分:4)

I Had a similar problem

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

  • 这有助于我们展示一些错误,通过这些错误我们可以解决问题 这使得R.java再次重生
  • 通过以上步骤,我发现我添加了一些图像 我没用过的文件 - >我删除了它们 - >那固定了 问题!

最后清理项目!

答案 4 :(得分:4)

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

修改

之后再做一次干净

答案 5 :(得分:3)

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

答案 6 :(得分:3)

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

答案 7 :(得分:2)

  1. 从代码中删除'import R.java'行。它由Eclipse完成,以解决问题。
  2. 转到“note_edit.xml”文件。无论您在哪里找到“match_parent”作为属性值,请将其替换为“fill_parent”或“wrap_content”。
  3. 做一个干净的构建。 R.java将自动生成。
  4. 如果您遇到此问题,则表示您的内容不支持“match_parent”属性。相反,使用“fill_parent”。

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

答案 8 :(得分:1)

你安装了Android插件吗?

您的项目必须是Android类型。

答案 9 :(得分:1)

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

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

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

的icon.png icon.png的副本

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

但用" _"替换空格这一切都恢复了正常......

答案 10 :(得分:1)

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

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

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

答案 11 :(得分:0)

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

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

幸运的是,重新启动Eclipse并清理项目有帮助。

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

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

1.问题主要是指语法问题     发生在xml文件上。

2.您可能会将AndroidManifest.xml意外复制到子文件夹中。

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

检查完所有这些内容后转到Project->清理或只删除/ bin和/ gen文件夹。

答案 15 :(得分:0)

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

答案 16 :(得分:0)

我多次遇到过这个问题。

的根本问题
  1. 未在项目设置中选择目标sdk版本
    1. 缺少文件default.properties(manifest.xml旁边)或未设置min sdk级别。
    2. 检查这两个并按照之前选项中的建议进行干净的构建,它应该可以正常工作。

      检查“问题”或“控制台”标签中的错误。

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

答案 17 :(得分:0)

我也遇到了R.java缺失等问题,并且在没有错误的情况下,我的代码中出现了错误(对类文件显示红色X图标)。

我找到解决此问题的唯一方法是通过选择Project > Clean

来清理项目

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

答案 18 :(得分:0)

只需重新启动 Eclipse将解决此问题,因为工作区将是新建的!转到

文件 - >重新启动

这是避免挫折的最简单方法,将其转化为Build,属性,等等等等等。

答案 19 :(得分:0)

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

我的Android安装中没有更新任何东西很长一段时间。我需要一个功能并运行SDK Manager。除了我需要的东西,我基本上检查了它想要更新的一切。之后我的R.java在Eclipse中消失了。

为了简短起见,在SDK Manager中有一个新条目“Android SDK Build-tools”,我猜我上次更新时没有。这真是一个明显的名字。安装完毕后,Eclipse给了我R.java

答案 20 :(得分:-1)

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