如何重新生成 R 类?

可能的复制品:
在 Eclipse 中为 Android 开发: R.java 没有生成

我已经将一个项目导入到我的 EclipseIDE 中,但是它给了我一个错误,因为 R 文件不是自动生成的。

我如何编辑 R 文件,使其符合我的项目要求?

142695 次浏览

尝试添加一个新的“ Android XML 文件”到,例如,/res/layout文件夹。这可能会导致插件重新生成 R类。

您只需修改/res 文件夹中的任何 xml 文件,甚至只需添加一个空格并保存,它就会被重新生成。

您可以从您的项目中删除 R.java 文件,它将重新生成,假设您已经自动启用了构建。如果您没有自动启用构建,只需要转到 project-> build all

好了,我修好了:

当我将清单更改为 target 1.5版本时,出现了百万个错误,只有一个与 R class-in 清单文件属性“ targetSdkVersion”和“ maxSdkVersion”不存在无关

因为这个 R 类无法生成。

您也可以右键单击 project -> Android Tools -> Fix Project Properties。这应该会导致 R.java 类被重新生成。

我有一个类似的问题,在我添加了一些图标和布局文件后,R.java 文件没有被重新生成。我尝试过清理和重建,但情况变得更糟,因为原始的 R.java 文件不见了,仍然没有重新生成。最后我终于意识到,生成 R.java 的编译器一定存在编译器错误,我们在控制台中没有看到这些错误。幸运的是,我早就注意到

  1. 如果一个.xml 文件引用另一个不存在的并且
  2. 在文件名中使用大写字母是一个错误(为什么禁止这样做,我喜欢骆驼大小写)。

无论如何,在重命名我的图标和。将 xml 文件转换为所有小写,然后修复。Xml 文件,瞧,R.java 被重新生成了。刚好在我停下来吃午饭的时候感觉很好: -)

如果您使用 Intellij IDEA,您可以单击 Build-Rebuild Project

另一个堆栈溢出问题中,有人回答了这个问题: 您必须消除 xml 文件中的警告和错误(语法和链接)。这加上做一个清洁/构建项目。

Project-> Clean,并选择生成项目的选项。

我也有同样的问题“ R”不见了。这里给出的任何建议都没有帮助。幸运的是,我已经找到了原因——不知何故 Eclipse 丢失了 Project-Properties-target。没有设置。我到现在才知道是什么造成的,但是把它放回去会有帮助。 注意了,还有 缺少 R 可能意味着缺少目标

我已经尝试了以上所有的解决方案,但不幸的是,它们并没有解决我的问题。 当我把一张新照片粘贴到我的可绘制文件夹时,我的 R.java 就不见了。 在阅读了这个问题的答案后,我试图 删除的图标,我有 前情提要(而建立自动启用) ,一切都很好之后。希望这对谁有帮助!

我有这个问题,我只是右键点击我的项目和构建项目的包。R 类立即出现在包元中。

以防有人像我一样在谷歌上找到这个帖子:

有一段时间我遇到了同样的问题,经过深入研究,我注意到 R.java 文件被正确地构建了,但是只有源文件的 被忽略了。这个特定文件的问题在于 Eclipse 在顶部“有益地”添加了以下行:

import android.R;

这有效地隐藏了项目 R 的东西。只要删除它,一切都会再次好起来..。

我的问题在 Manifiest 的文件里。 我已经删除了启动器的图标,并没有引用清单上的新图标:)

我重新打开 eclipse,编辑一个 xml 文件,然后发现活动类引用的是 android.R 而不是包“ R”: -)

如果旧的 R 文件已经被删除,您可以使用 Eclipse 的“ Restore from local history”来恢复它。之后,您可能会看到是什么阻止 Eclipse 构建您的文件(我已经看到了比以前更有助于解决问题的其他错误)。

也许你可以转到项目属性,选择 Android 选项,然后为项目定义目标。一旦你为这个项目应用选择的目标 API,它将自动生成 R.java。

主要是无效布局文件的问题。 打开“问题”视图并在 XML 布局文件中查找错误。修复它们,R 类将被重新创建。

在我的情况下,没有真正的错误。问题视图显示了 xml 布局中的错误。编辑器也显示了 xml 错误。只需使用自动格式化程序重新格式化 xml,并使用“ ctrl-f”“修复”xml“错误”,就可以重新创建 R 类。

再次生成 R 文件:

  1. 在 lay- > activity _ main. xml 中修改某些内容
  2. 保存文件
  3. 工程项目-> 清洁..。

只需删除位于 gen 目录中的 R 文件,然后尝试 Project-> Clean。 然后再次构建你的应用程序。

为了重新生成 R 类,你必须尝试多种技术。

  • 从 java 源文件中删除任何 R 导入: import R.android
  • 确保打开“问题”面板,点击窗口-> 显示视图-> 问题
  • 如果 xml 资源中确实存在一些错误,则需要更正这些错误。在我的例子中,我必须更改 id 属性,以包含“ +”符号,如下所示: android:id="@+id/grp_txt"
  • 现在继续执行 Project-> Clean
  • 最后做项目-> 关闭,项目-> 打开

“ +”符号表示一个新的资源 ID,并强制 aapt 工具在 R.java 类中创建一个新的资源整数。

在我的例子中,是一个名称不正确的 XML 文件导致我的 R 文件无法重新构建。这在包资源管理器中没有显示出来,但是在 LogCat 中显示出来了。留意任何有关您的资源文件的警告。无论清理项目多少次,在处理好这些错误之前,R 文件都不会重新生成。

对于我来说,它是一个没有定义的 String 值 Resource... ... 在我手工将它添加到 Strings.xml 之后,R 类就自动重新生成了!

这个问题通常发生在从现有项目导入时。尝试修复 保留意见文件夹中所有 . xml文件以及 旅客名单文件中的所有错误。最有可能的错误是显示在“ Match _ father”参数,改为“ 家长”。当所有的错误都清楚时,R.java 就会出现。

如果在任何。Xml 文件。尝试编辑任何 xml 文件(比如删除一个字母并键入回来) ,然后保存文件,这将导致生成 R.java。

如果您意外删除您的 R 在 Eclipse 的“项目干净”(不要这样做) 右键单击 Projectfile-> Restore from local History..。

重建你的 R

我的案例:

  • 中断的 xml 导致 R 中的 bug (因为 ä,ö,ü,id 中的字母)
  • 清理项目删除了我的 R。

我所做的:

  • 从本地历史中重建了 R
  • 检查我的类中是否有错误的 R 导入(比如 import android.R)并删除它们
  • 修复了 xml 文件,并将其内容保存在一个外部 txt 文件中
  • 从我的项目中完全删除了 xml。
  • 有一次运行我的项目
  • 把那个固定的 xml 放回原位

还有..。

  • 像绿巨人一样抓狂之后无缘无故给了我女朋友一个大大的拥抱。

我发现这种事发生在我身上布局坏了,所有东西都爆炸了。放轻松,这就像你第一次学习编程时犯的老错误,你忘记了一个分号,它就会产生一百个错误。许多恐慌,按下所有的按钮,使事情变得更糟。

解决方案

  • 确保 R.链接到的任何东西都没有被破坏。如果它被破坏,ADK 可能无法再生 R.修复 XML 文件中的所有错误
  • 如果你以某种方式击中了什么并且在你的活动中创建了 import android.R取出来
  • 运行 工程项目-> 清洁。这将删除并重新生成 R 和 BuildConfig。
  • 确保 Project-> 自动生成被勾住了。
  • 等待几秒钟使错误消失。
  • 如果它不工作,删除/gen/文件夹中的所有内容
  • 如果还是不行,试试 右键单击您的项目-> Android 工具-> 修复项目属性

如果 R 不能再生该怎么办

这通常发生在您有一个破碎的 xml 文件时。

  • 检查 XML 文件中的错误,主要是/res/文件夹中的错误
  • 常见的地方是/layp/and/value/特别是如果您最近更改了其中的一个
  • 检查 AndroidManifest.xml,我发现我经常更改字符串,而忘记从 AndroidManifest.xml 中更改字符串名称。
  • 如果你找不到问题所在。右键单击/gen/-> Restore from local history...-> 剔选 R.java-> 单击 Restore.这不能解决问题,但可以清除额外的错误,使问题更容易找到。

我知道这里已经有很多答案,但这是谷歌上的第一个链接,所以我在这里整理所有的建议,希望它能帮助其他新人:)

我有一个问题,findViewById(R.id.edit_text)但返回一个文本视图而不是一个编辑文本。我认为问题是 R.id 类有错误的 ID 号,然后,我清理项目,然后它的工作正常。

我的问题是 XML 文件中的错误。在 Android 公共 XML 编辑器或 Android 公共清单编辑器中并不总是自动检测到错误,所以尝试使用常规文本编辑器。例如,某些来自。Java 文件已经插入到我的清单和 strings.xml 文件中。

右键单击任何 XML 文件(很可能在/res 文件夹或 AndroidManifest.XML 中)并单击“ Open With”,然后选择“ Text Editor”确保一切正常,然后保存。另外,确保为您的项目启用“ Build Automated”。我已经删除了我的 R.java 文件,它是从头开始重建的,所以不需要从本地历史中恢复它。