【问题标题】:R cannot be resolved to a variable in Eclipse, and R.java missingR 无法解析为 Eclipse 中的变量,并且缺少 R.java
【发布时间】:2011-10-20 14:34:11
【问题描述】:

我知道已经有十几个使用这个名称的帖子,但是我几乎尝试了所有方法,除了重新安装 eclipse,我担心如果我这样做的话,我的项目会更加混乱。我的 Eclipse 中大约有一半的项目突然开始出现这个错误,而一半还好(?!)

我已经尝试过清理项目,重新启动 Eclipse,重新启动计算机,确保没有 import android.R,在 Java 构建路径导出等中取消选择 Android。

基本上,我只更改了 .java 文件中的几行代码,而不是任何 .xml 文件,就开始随机出现此错误。显然,我尝试撤消这些更改无济于事。我每隔几天左右备份整个项目的副本,并且总是在它是编译和运行正常的副本时。某个日期之前的所有副本都可以,之后的所有副本都会出现此错误。所有的坏副本都引用了 scoreloop 和 admob 库,但我尝试删除这些库,不好。此外,所有“之前还好”的副本都是 Android 2.1,而坏的是 Android 2.3,但是当我进入项目构建目标并告诉它使用 2.1 而不是 2.3 时,仍然不行。

有什么想法吗?

编辑:查看错误日志,当我开始遇到这个问题时,开始得到这些:

!ENTRY org.eclipse.update.configurator 4 0 2011-10-16 22:02:42.354 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-16 22:02:42.404 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-16 22:02:42.788 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-16 22:02:45.079 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US !会话 2011-10-17 09:11:22.690 -------------------------------------------------- --------- eclipse.buildId=M20110210-1200 java.version=1.6.0_23 java.vendor=Sun Microsystems Inc. BootLoader 常量:OS=win32、ARCH=x86_64、WS=win32、NL=en_US 框架参数:-product org.eclipse.epp.package.java.product 命令行参数:-os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.core.resources 2 10035 2011-10-17 09:11:25.717 !MESSAGE 工作区退出前一个会话中未保存的更改;刷新工作区以恢复更改。

!ENTRY org.eclipse.update.configurator 4 0 2011-10-17 09:54:11.817 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-17 09:54:11.859 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-17 09:54:12.266 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.update.configurator 4 0 2011-10-17 09:54:14.582 !MESSAGE 找不到基本名称功能的捆绑包,语言环境 en_US

!ENTRY org.eclipse.core.jobs 4 2 2011-10-17 16:46:42.471 !MESSAGE 在“启动 stb”期间发生内部错误。 !堆栈 0

【问题讨论】:

  • 这也可能是 ADT 本身的问题。你最近升级了吗? (例如到 r14 版本)
  • 我不这么认为,我正在度假,所以它发生时就像没有互联网的第 5 天。
  • 然后尝试更新 ADT(有 ICS 的新版本)
  • 我猜 /project/res 文件夹有问题。如果您使用的是 linux,能否请您发布 ls -r XX/res 的输出?否则,该文件夹中是否有文件夹以外的文件?
  • 你尝试从命令行编译吗?

标签: android r.java-file


【解决方案1】:

通常,如果没有生成R.java,则说明您的资源文件或清单之一存在问题。错误消息应该出现在 Eclipse 控制台中(注意:not LogCat)。

您也可以考虑尝试a command-line build via Ant,看看这是否可以让您更多地了解您的项目正在进行的情况。

【讨论】:

  • 这是我的案例的答案。我放了一个图片资源,它是 xx.jpg,但 xx.png 位于同一个文件夹中。在我清理项目后,R 无法生成。我删除了相同的文件名,然后 R 再次生成。
【解决方案2】:

首先,检查您在 Eclipse 中的 SDK 位置。

其次,检查编译错误(有时eclipse没有显示它们)。你需要看看它。

三、制作清理项目

希望对你有帮助!

【讨论】:

  • “检查我的位置”是什么意思?我应该寻找什么?它没有移动。我执行了干净的项目,没有任何帮助,我在上面发布了错误,但不确定它们是否意味着什么。
【解决方案3】:

eclipse+adt 或者资源有问题。

我猜这是第二种情况(否则切换回旧版本不会解决问题)。所以我的猜测是其中一个资源被破坏了。例如 .9.png 在边缘有一个半透明像素。检查错误日志:“窗口->显示视图->错误日志”。清除错误日志并清理+重建项目。如果有损坏的资源,则应在此处列出。还要检查“问题”视图中的错误。

【讨论】:

    【解决方案4】:

    我发现问题出在我的 android 清单文件上,我忘了这也是一个 xml。为 scoreloop 添加了一些东西的部分,其中一行有一个 android:theme="@style/sl_dialog" 它突然不再喜欢了。我仍然无法解决任何 scoreloop 导入问题,但只有几行代码,当我将它们注释掉时,至少我的 r.java 现在构建了。

    编辑:事实证明我的 scoreloop 库由于某种原因搞砸了,我不得不从工作区中完全删除 scoreloop 的所有引用,然后将其重新导入库,它最终又可以工作了。

    【讨论】:

      【解决方案5】:

      执行清理后遇到完全相同的问题 - 清理已从 xml 布局中删除了颜色

      android:textColor="#FFF"
      

      到 android:textColor=""

      只要填充空颜色就可以了……一切都奏效了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-09
        • 2016-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多