Android - 如何重新生成 R 类?[复制]
-
19-09-2019 - |
题
我已将一个项目导入到 Eclipse IDE 中,但由于 R 文件未自动生成,因此出现错误。
如何编辑 R 文件以使其符合我的项目要求?
解决方案 3
好的,我固定它:
当我改变了清单的目标1.5版本,千万错误出现,只有一个是不相关的R类别的inexistance - 清单文件属性“targetSdkVersion”和“maxSdkVersion”根本不存在的SDK 1.5
由于这种R类别未能产生。
其他提示
在另一个计算器问题,有人回答这样的:你必须摆脱在XML文件中的警告和错误(语法和链接)。这加上做清洁/建造项目。
项目 - >清洁,并选择建设项目中的选项
我发现这种情况发生在我身上,布局损坏,一切都崩溃了。放松,这就像你第一次学习编程时犯的老错误一样,你忘记了一个分号,就会产生一百个错误。许多人惊慌失措,按下所有按钮,使事情变得更糟。
解决方案
- 确保任何事情
R.
链接没有损坏。如果它损坏,ADK 可能无法重新生成 R。 修复 XML 文件中的所有错误. - 如果你以某种方式击中某物并创造了
import android.R
在你的活动中, 去掉它. - 跑步 项目 -> 清洁. 。这将删除并重新生成 R 和 BuildConfig。
- 确保 项目 -> 自动构建 被勾选。
- 等待 几秒钟后错误就会消失。
- 如果不起作用,请删除 /gen/ 文件夹中的所有内容
- 如果仍然不起作用,请尝试 右键单击您的项目 -> Android 工具 -> 修复项目属性.
如果R不再生怎么办
当您的 xml 文件损坏时,通常会发生这种情况。
- 检查 XML 文件中的错误,主要是 /res/ 文件夹中的错误
- 常见的地方是 /layout/ 和 /values/ 特别是如果您最近更改了其中之一
- 检查AndroidManifest.xml,我发现经常更改字符串,而忘记更改AndroidManifest.xml中的字符串名称。
- 如果找不到问题。 右键单击 /gen/ -> 从本地历史记录恢复...-> 勾选 R.java -> 单击恢复. 。这并不能解决问题,但会清除额外的错误,使问题更容易找到。
我知道这里已经有很多答案了,但这是 Google 上的第一个链接,所以我在这里整理了所有建议,希望它能帮助其他对此不熟悉的人:)
我遇到了类似的问题,在添加一些图标和布局文件后,R.java 文件没有重新生成。我尝试清理和重建,但事情变得更糟,因为原始的 R.java 文件消失了并且仍然没有重新生成。最终我意识到生成 R.java 的编译器一定存在编译器错误,而我们在控制台中没有看到这些错误。幸运的是,我很早就注意到了
- 如果一个 .xml 文件引用另一个不存在的 .xml 文件,则这是一个错误
- 文件名中包含大写字母是错误的(为什么禁止这样做,我喜欢驼峰式大小写)。
不管怎样,在将我的图标和 .xml 文件重命名为全部小写,然后修复 .xml 文件中的所有引用后,瞧,R.java 被重新生成了。当我停下来吃午饭时,正好感觉良好:-)
再次生成 R 文件:
- 修改layout->activity_main.xml中的一些内容
- 保存文件
- 项目->清洁...
只需删除位于 gen 目录中的 R 文件,然后尝试 Project->Clean。然后再次构建您的应用程序。
您还可以右键点击project -> Android Tools -> Fix Project Properties
。这应该导致要重新生成的R.java类。
我的问题是在清单文件。 我已经删除了启动图标,并没有引用清单上的新的:)
我重新打开蚀,编辑的我的XML文件的一个,然后发现,我activy类是闯民宅android.R代替我的包“R”: - )
为了重新生成 R.class,您必须尝试多种技术。
- 从 java 源文件中删除所有 R 导入:
import R.android
- 确保通过转到“窗口”->“显示视图”->“问题”打开“问题”面板
- 如果 xml 资源中确实存在一些错误,则需要更正这些错误。就我而言,我必须更改 id 属性以包含“+”号,如下所示:
android:id="@+id/grp_txt"
- 现在继续执行Project->Clean
- 最后做项目->关闭,项目->打开
“+”号表示新的资源 id,并强制 aapt 工具在 R.java 类中创建新的资源整数。
如果您使用的IntelliJ IDEA,你可以单击生成器 - 重建项目
如果您通过“ Project Clean”(不要这样做)在您的ProjectFile - >从当地历史记录恢复的“ Project Clean”(不要执行此操作)在Eclipse中删除了R。
重新创建你的R
我的情况:
- 损坏的 xml 导致 R 中出现错误。(因为 ä、ö、ü、id 中的字母)
- clean 项目删除了我的 R。
我做了什么:
- 从本地历史重新创建 R
- 检查我的类中是否存在错误的 R 导入(例如 import android.R)并将其删除
- 修复了该 xml 文件并将其内容保存在外部 txt 文件中
- 从我的项目中完全删除了 xml。
- 运行我的项目一次
- 将固定的 xml 放回到原来的位置
和...
- 像绿巨人一样惊慌失措后,无缘无故地给了我女朋友一个大大的拥抱。
我的问题是在我的XML文件中的错误。错误并不总是在Android通用XML编辑器或Android常见的清单编辑器会自动检测到,所以请尝试使用普通的文本编辑器来代替。例如,某种方式从一个.java文件一些随机乱码将插入了我的表现和strings.xml中的文件。
右键点击任何XML文件(最有可能在/ res文件夹或AndroidManifest.xml中),然后单击“打开方式”,然后选择“文本编辑器。”确保一切正常,然后保存。此外,确保启用“自动构建”为您的项目。我已经删除了我的R.java文件,它是从头开始重建,所以没必要把它从当地的历史还原。
尝试添加新的“机器人XML文件”,例如,该文件夹/res/layout
。这可能会导致插件以再生R
类。
您可以只修改/ res文件夹的任何XML文件,甚至只是添加一个空格和保存,它会重新生成。
我有同样的问题 - “R”缺失。而没有建议给予帮助这里。幸运的是,我找到了原因 - 莫名其妙的Eclipse迷路项目 - 属性 - 目标。这是未设置。我不知道到现在为止,什么做了它,但它放回帮助。 所以,注意! - 失踪R可以意味着丢失的目标,太
我已尝试所有上述解决方案。但遗憾的是他们并没有解决我的问题。 我R.java被我贴了新的图片为我绘制的文件夹中很快消失了。 阅读对此问题的回答我试图删除图标我的以前粘贴(而建立自动启用)和一切都很好afetr后。希望这将帮助别人!
我有这样的问题,在我的项目的包我只需右键点击并生成项目。瞬间R级出现在包根。
在谷歌搜索的情况下的时候,像我一样别人发现这个线程:
我似乎是在一段时间内同样的问题,一些挖后,我注意到,R.java文件得到了正确构建,但我的源文件被忽略只有一个。对于该特定文件的问题是,Eclipse的已经“有益”加入在顶部以下行:
import android.R;
这有效地隐藏了项目ř东西。只是将其删除,一切都将再次被罚款......
您可以使用Eclipse的“从本地历史还原”恢复旧R档,如果它已被删除。之后,你可能看到从建立你的文件(我见过其他错误不是真正帮助解决问题之前,其)保持的Eclipse。
可能是你可以去项目属性,选择Android的选项,然后定义目标的项目。一旦你申请选定的目标API这个项目,它会自动生成R.java。
主要是一个具有无效布局文件的问题。 打开“问题”视图,并寻找在XML布局文件错误回报。解决这些问题和R类别将被重新创建。
在我的情况下,没有一个真正的错误。问题视图在XML布局显示错误。编辑器显示XML错误了。只是使用自动格式化与“CTRL-F”“固定”的XML“错误”和R类被再创造重新格式化的XML。
您可以直接删除从您的项目中R.java文件,它会重新生成假设你已经自动构建启用。如果你没有建立自动启用简单地转到项目 - >建立所有
对我来说,它是一个字符串值资源不会被定义...后我添加它用手strings.xml中,R类被自动地再生!
这个问题从现有项目导入时通常发生。尝试从修复所有错误的所有的 .XML 在资源文件夹,以及清单文件的文件。最可能的错误是在 “的 match_parent 强>” 参数中所示,它改为 “的 FILL_PARENT 强>”。当所有的错误都清楚,R.java将出现。
如果有任何.xml文件没有错误。尝试编辑任何xml文件(如删除一个字母并键入回),然后保存该文件,这将导致产生的R.java。
我有一个问题,即findViewById(R.id.edit_text)
但返回一个TextView不是的EditText。我认为这个问题是R.id类有错误的ID号,然后,我清理项目,那么它工作正常。
在我的情况下,它是使我的R档不重建不适当名为XML文件。这并没有在包资源管理器中显示出来,但它在logcat中所示。当心你的资源文件的任何警告存在。不管你有多少次清理项目,R档不会重建,直到这些错误的照顾。