R文件缺少android

Posted

技术标签:

【中文标题】R文件缺少android【英文标题】:R file is missing android 【发布时间】:2011-06-18 01:48:44 【问题描述】:

我使用的是 Eclipse Helios,但由于性能问题,我更改为 Eclipse Galileo 并安装了 ADT 插件,并将我的 sdk 文件夹添加到 Elcipse Preferences。现在 R.java 从我所有的项目中消失了。我该如何解决这个问题,我做了 Project/Clean 但不会生成文件,我的 xml 没有任何问题,我的任何项目中都没有 out.xml。

提前致谢

【问题讨论】:

它会将您的项目识别为 android 项目还是 java 项目? 我如何检查这个?在构建路径下的项目属性中,它显示 Android 2.2 等 此问题仅在安装后的 Eclipse Galileo 中发生。我想我做错了什么?步骤: 1-从存储库安装 ADT 插件。 2-浏览 Eclipse/Android 首选项上的 android SDK。 3-从 ADT 管理器下载 android 包。 4-运行。对不对? 【参考方案1】:

我遇到了类似的问题。那是因为我将可绘制文件picture.jpg 保存为picture.png,只要我将名称更改为以前的名称,它就开始工作了。希望这对将来的某人有所帮助

【讨论】:

【参考方案2】:

这发生在我向我的项目添加一些新资源时。 每次资源更新后都会构建 R 文件。

我的错误是文件名不正确。其中一个图像资源的名称中有一个大写字母,这会阻止构建创建 R 文件。更改名称很简单。

我建议当您一次添加太多资源时,只需确保它们的命名约定即可。很容易错过这些东西。

资源约定:http://developer.android.com/guide/topics/resources/providing-resources.html

【讨论】:

【参考方案3】:

我刚刚遇到了同样的问题。

原来我的源代码控制已在我的 mainifest 文件中插入了 Addd>>>>>>>>>>>>>>>> 部分。

我所要做的就是修复清单文件,然后所有错误都消失了。

【讨论】:

【参考方案4】:

本地化正确的 R. 包导入,应该在你的包中。

例如。 import com.yourdomain.test.R;

【讨论】:

【参考方案5】:

嗨,这个周末我遇到了这种情况。

发生这种情况的实际原因是我在首选项中取消选中了 Android 的更新选项,因为它不适用于以前版本的 Eclipse。现在虽然 Eclipse 似乎运行良好,但当我 PROJECT->CLEAN 项目时,R.java 丢失了。

尝试重新勾选 android 更新选项(WINDOW -> PREFERENCES -> INSTALL/UPDATE)。

这完全解决了我的问题,我不必费力地扫描我的许多 xml 文件或图像资源的每一行。

希望这对某人有帮助:)

【讨论】:

【参考方案6】:

同样的事情发生在我身上,更正了检查 res xml 文件中的任何错误,并将目标 1.5 更改为 2.2 android(在我的情况下) 这通常发生在我从示例或其他开发人员导入外部代码或在线源代码时。

【讨论】:

【参考方案7】:

这是 ADT Android 项目与普通 Java 项目有点不同的地方。一个 android 项目需要一个不断更新的持久性 R.java 文件。除此之外,R.java 文件包含您的应用程序中提供的所有资源 ID,并保持界面的一致性。

所以首先确保为您的 android 项目生成 R.java 文件。

要找到它,首先转到 ADT (Eclipse) 的顶部并清理项目 PROJECT->CLEAN 如果选中 'Build Automatically',现在应该创建 R.java 文件。 要确认,您只需在项目文件夹中搜索文件即可。如果它没有被创建,你将找不到它。 如果没有创建 R.java,则有 90% 的可能性是您的 interface *.xml 文件之一存在问题。通常位于 res->layout->activityXXXX.xml

修复接口文件(尝试用一个按钮或其他东西让它变得非常简单),ADT 将自动生成 R.java 文件。此时,您应该开始注意到主程序/活动中的 R.layout.XXXX not found 类型错误。这是一件好事,因为现在您可以创建/重命名正确的布局项并修复您的项目。

只要我的 2 美分....

【讨论】:

【参考方案8】:

资源有错误。一旦我在布局和菜单中有相同的 xml 文件,生成失败,没有生成 R.java。

【讨论】:

【参考方案9】:

在 Eclipse 中创建了新项目,然后我将示例文件导入其中,但仍然是同样的错误。您可能想尝试以下方法:

在 Eclipse 中 -> 右键单击​​项目 -> Android 工具 -> 修复项目

确保所有资源都是小写的。

【讨论】:

【参考方案10】:

我从 Eclipse/Helios 升级到 Eclipse/Juno 时遇到了这个问题。

我设置了 IDE,然后导入了一个现有(工作)项目。如果我然后在模拟器中运行它,它会运行但在其原始版本中,尽管 Java 代码是最新版本的。

然后我进行了清理(如许多其他帖子中所述)和(重新)构建,但由于缺少 R.java 文件而导致出现大量错误。

问题原来是 Eclipse/Helios 无法识别的布局 xml 文件中的一些“错误”。具体来说,就我而言,Juno 反对一些 layout_width='match-parent' (和高度)设置。我尝试直接在 xml 文件中更改这些内容,但 Juno 没有,并且仍将其报告为“匹配父级”错误(尽管它显然已更改)。

唯一要做的就是转到图形布局,右键单击以获取属性,然后在那里更改宽度和高度属性。另外,由于它们已经显示为 'fill-parent',我必须先将它们更改为 'wrap-content',然后再将它们更改回 'fill-parent'。

一旦我为“match-parent”的所有实例完成了该操作,我就可以进行构建并在模拟器中运行最新版本。

【讨论】:

【参考方案11】:

根据我的经验,某处的 xml 中存在错误。 Eclipse 无疑会告诉你在哪里。在我修复错误 R 后出现。

【讨论】:

我的一个 xml 文件有“android:hint="@string/question_hint”,但我的 strings.xml 文件缺少“question_hint”。所以这是 xml 文件中的错误。跨度> 【参考方案12】:

有时当您清理项目时,R 文件会消失,我遇到了同样的问题。

我修复它的方法是:

-确保删除所有“import android.R” - 再次清洁(如果这不能解决问题,请重新启动 Eclipse 并重试)

或者

-将指向 R 文件的指针放在注释 f.e. 中。 // setContentView(R.layout.main); - 如果所有指向 R 文件的指针都在注释中,您应该只在文件中收到警告,并希望在其他地方出现错误。 -修复错误,然后取消注释指针。有时 eclipse 会忽略一些错误并删除 R 文件,然后什么也没说,这很烦人,但这会解决它。 :)

-如果还是不行,你可以尝试新建一个项目,复制粘贴你的代码。

【讨论】:

+1 我的主题有所不同:当我将一个 Android 库项目添加到我的 Android 项目中时,R 消失了,让我陷入了错误之中。 eclipse“问题”视图恰好显示了基本错误,这是项目之间的样式冲突。修复了那个,一切又好了。【参考方案13】:

我今天遇到了同样的问题并解决了。在包含外部/示例文件时经常发生这种情况的原因是,这些示例通常会在您的应用程序中引用布局,但无法访问包,因此无法看到该包中的 R.java 文件。为了清楚起见,这里是 R.java 文件的开头:

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.conceptualsystems.dashboard;

public final class R 
    public static final class attr 
    
    public static final class drawable 
        public static final int csc_logo=0x7f020000;
        public static final int icon=0x7f020001;
    
    public static final class id 
        public static final int activation_code=0x7f070012;
        public static final int alpha_bar=0x7f07000b;
        public static final int alpha_label=0x7f07000a;

注意包名是你应用程序的包名。未包含在此包中的 .java 文件(即您刚刚放入的示例代码)将需要显式引用该包文件,如下所示:

package com.example.android.apis.graphics;

import android.app.Dialog;
import android.content.Context;
import android.graphics.*;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.SeekBar;
import com.conceptualsystems.dashboard.R;

最后一行是需要注意的。明确导入资源后,这些资源将在您的示例代码中可用。

【讨论】:

当我将我的库添加到我的测试项目时,gen 文件夹中的 R.ava 离开了,我得到“R 无法解析为变量”。在我的图书馆中,我有一些资源,例如 jpg 和布局。【参考方案14】:

尝试在项目下拉菜单中自动取消单击并重新单击构建项目,每次都关闭程序。这方面的已知错误已经有一段时间了,但并不总是固定的。

当它发生在我身上时,原来是因为我用大写字母命名了一个 .xml 文件。值得一试。

【讨论】:

它不起作用,我在使用 xml 名称时遇到了同样的问题,但那是很久以前的事了,所以我的 xml 看起来很好(没有大写字母)。关于如何解决这个问题的任何其他想法? 不接受新安装抱歉:/ 有一段时间 Galileo 无法与 android 一起工作,但我确定现在已经解决了,抱歉我帮不上忙。 我认为这行不通,因为我已经尝试了我能想到的所有其他构建-不构建序列,但它确实有效。

以上是关于R文件缺少android的主要内容,如果未能解决你的问题,请参考以下文章

Android R 存储机制变更

R文件缺少android

读取缺少逗号的 .csv 文件。碱基R

android 开发中R.drawable的问题

Android R 系统编译时 Lint 工具检查问题记录

R导入csv,标题上缺少逗号