【问题标题】:android r.java will not updateandroid r.java 不会更新
【发布时间】:2011-03-15 09:04:20
【问题描述】:

我在谷歌上搜索了很多,以找到可能导致此问题的各种提示。他们中的许多人在这个论坛上,但没有任何效果。

我在 3 台不同的机器(xp、macos snow leopard、leopard)上从头开始安装 sdk,但总是出现同样的问题,甚至 android sdk 中的示例代码也无法编译。 经过数小时查看我认识的 xml 文件后,当我从字符串中删除 ' 时,sdk 的示例代码将编译。 一个新项目也是如此,只要 R.java 文件不需要更改。 一旦我尝试使用 findViewByID 添加按钮,我就会收到无法解析字段 R.id 的错误。没有对项目进行其他更改。

如前所述,我尝试了各种方法,包括: 清理项目,重建 重启日食 更新 sdk(即使我安装了新的 sdk 也很难) 没有大写字母 ... 在干净的机器上安装 sdk,最新的 eclipse 经典

我不认为这是代码本身的问题,因为即使是 sdk 提供的示例代码,如果不从 xml 中删除 ' 也无法编译。

请有人提供一些提示和想法,请问下一步该去哪里看?

【问题讨论】:

    标签: android r.java-file


    【解决方案1】:

    使用 Eclipse,确保选择了 Menu->Project->Build automatic

    然后删除 gen/ 中的所有文件。它们应该会自动重新生成。这将强制更新 R.java。

    【讨论】:

      【解决方案2】:

      在eclipse中打开“问题”窗口,如果任何xml文件有问题,R.java都不会生成。

      如果xml文件中有单引号,应该用双引号代替。 XML 标准是所有属性值都用双引号括起来,而不是单引号。

      无效

      <?xml version='1.0' encoding='utf-8' ?>
      <resources>
        <string name='some_name'>value</string> 
      </resources>
      

      有效

      <?xml version="1.0" encoding="utf-8" ?>
      <resources>
        <string name="some_name">value</string> 
      </resources>
      

      【讨论】:

      • 嗨!感谢您的快速回复。可悲的是,这不是问题。我在第 365 行的 strings.xml 中的 sdk 示例代码中发现了问题但如上所述,即使在设置新项目后没有任何修改(只要我不添加 UIControl 就可以运行),但只要我做例如一个按钮,编译器失败。顺便说一句,我使用 Eclipse 3.5.2,并尝试了 3.6
      • 输出窗口或“问题”窗口中的错误是什么?
      • “如果任何 xml 文件有任何问题,R.java 将不会生成”为我解决了这个问题。我不知道 Eclipse 只有在没有错误时才更新 R.java。
      【解决方案3】:

      如果您使用的是 Eclipse,请在项目的 Package Explorer 下找到 res\layout\activity_(activity name).xml 并右键单击并使用文本编辑器打开它。在TextView下添加:

      android:id = "@+id/button_id"
      

      并清理重建您的项目。使用findViewById(R.id.button_id)

      【讨论】:

        【解决方案4】:

        在 Eclipse 中查看问题的最简单方法是转到 Window>Show View>Other>General>Error Log

        【讨论】:

          猜你喜欢
          • 2011-08-15
          • 1970-01-01
          • 2013-08-07
          • 2011-07-08
          • 1970-01-01
          • 2013-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多