9

我已经从谷歌代码下载了代码,但是当我在我的 Eclipse IDE 中导入该项目时,它不会生成 R.Java 文件。我搜索了许多博客和论坛并尝试了很多事情,比如清理、重建、从现有源创建项目等,但仍然面临问题。有人提到它有时是由SVN客户端软件引起的,但没有人提到任何解决方案。如果您自己下载并找到确切的问题,我将非常感谢你们。

4

11 回答 11

16

一般来说,要使其工作:

  1. 将项目导入eclipse(文件->导入->常规->现有项目到工作区)
  2. 在 Eclipse 中,手动创建 gen 文件夹并将其添加为源文件夹(右键单击您的项目,构建路径 -> 配置构建路径 -> 添加文件夹)
  3. 清理你的项目,你想生成 R.java

但它没有,为什么?

因为 res 中的 xml 文件存在一些编译错误(或错误?),所以 R 没有被生成(我已经在我的 Mac 上测试过):
在 res/values/styles.xml 中:注释掉以下内容:

<style name="iWindowTitleBackground" parent="android:WindowTitleBackground">    
  <item name="android:background">@drawable/title_bar</item>        
</style>

在 res/values/themes.xml: 中注释掉以下内容:

<item name="android:windowTitleBackgroundStyle">@style/iWindowTitleBackground</item>

然后做一个 Project -> Clean,你应该会生成 R.java。

有错误报告 parent="android:WindowTitleBackground" 在某些操作系统中无法解析,请查看此处了解更多详细信息。

于 2011-11-29T22:57:14.560 回答
3

每当您生成的 R 类未生成时,就表明由于 XML 资源的一些解析问题,生成它时存在问题。检查 IDE 中的错误控制台以找出具体错误。

常见问题有:

  • strings.xml例如,您的 中的未转义字符you're而不是you\'re
  • 布局资源中缺少layout_widthlayout_height标记
  • 缺少命名空间声明
  • Java 不支持的变量名称,例如由于大写或使用空格、连字符或其他不受支持的字符
  • XML 中的任何其他类型的语法错误
  • 检查控制台是否存在问题(附加图像,其中控制台定义了 R 未在您的项目中生成的问题)

在此处输入图像描述

于 2014-02-28T04:36:01.297 回答
1

当我遇到这个问题时,我删除了 gen 文件夹,它将与所有 r 文件一起重新创建

于 2011-11-29T21:59:59.803 回答
1

您会在文件顶部看到 import android.r 或 r.java 我忘了。您需要删除此行,清理项目并重新运行。
基本上 android 使用 R 来引用项目中的项目。但是当那个 import 语句在那里时,它会覆盖查看您的项目目录并使用 androids

于 2011-11-29T22:00:20.400 回答
1

我在尝试构建从 code.google.com(此处)下载的维基词典示例代码时遇到了同样的问题,我已导入到一个新的 Eclipse Juno 项目集以使用 Android 4.1 和 JDK 1.6。

这是构建项目后控制台的摘录:

W/ResourceType(6292):错误的 XML 块:标头大小 103 或总大小 0 大于数据大小 0 C:\Development\WorkJava\android\sampleapps\Wiktionary\com.example.android.wiktionary.LookupActivity\res\values \strings.xml:23:错误:以非位置格式指定多个替换;您是要添加 formatted="false" 属性吗?C:\Development\WorkJava\android\sampleapps\Wiktionary\com.example.android.wiktionary.LookupActivity\res\values\strings.xml:23:错误:意外的结束标记字符串

这是 res/values/string.xml 的摘录:

<resources>

<string name="app_name">Wiktionary Word of the Day</string>
<string name="app_descrip">A fast Wiktionary browser and Word-of-day widget</string>
<string name="app_credits">"All dictionary content provided by Wiktionary under a GFDL license.  http://en.wiktionary.org\n\nIcon derived from Tango Desktop Project under a public domain license.  http://tango.freedesktop.org".</string>
<string name="template_user_agent">"%s/%s (Linux; Android)"</string>
<string name="template_wotd_title">"Wiktionary:Word of the day/%s %s"</string>
<string name="template_wotd_archive_title">"Wiktionary:Word_of_the_day/Archive/%s/%s"</string>

解决方案

将 formatted="false" 添加到最后 3 个字符串定义(包含两个 %s 替换占位符),如下所示,解决了问题。在 gen 文件夹中重建项目生成的 R.java。

<resources>

<string name="app_name">Wiktionary Word of the Day</string>
<string name="app_descrip">A fast Wiktionary browser and Word-of-day widget</string>
<string name="app_credits">"All dictionary content provided by Wiktionary under a GFDL license.  http://en.wiktionary.org\n\nIcon derived from Tango Desktop Project under a public domain license.  http://tango.freedesktop.org".</string>
<string name="template_user_agent" formatted="false">"%s/%s (Linux; Android)"</string>
<string name="template_wotd_title" formatted="false">"Wiktionary:Word of the day/%s %s"</string>
<string name="template_wotd_archive_title" formatted="false">"Wiktionary:Word_of_the_day/Archive/%s/%s"</string>
于 2012-09-12T19:20:37.477 回答
1

在检查我的所有资源都没有错误、清理、重建、重新启动等后,我仍然有这个错误。

我通过从项目中过滤掉 SVN 文件来解决这个问题。

如何从 Eclipse 中的搜索中排除 .svn 目录?

虽然问题提到了搜索,但解决方案也与编译中使用的文件有关。

重新启动,一切正常。

于 2013-02-01T19:20:01.640 回答
1

“.xml 文件”和“图像文件”并确保名称小写。

于 2013-09-15T15:59:48.583 回答
0

将工作区更改为新目录并设置其权限,使其可供所有人使用

于 2013-09-07T18:55:30.017 回答
0

就我而言,我在 res/drawable 中找到了一个包含大写字母的图像文件名。更改图像名称后。它已解决,我可以构建项目

于 2013-12-01T11:53:31.437 回答
0

我多次遇到这个问题。经验法则是检查您的 .xml 文件。
当 .xml 文件有任何问题时,不会生成 R.java。

于 2014-03-05T22:11:50.243 回答
0

只需点击

Build --> Clean Project

这对我有用

于 2017-08-27T09:18:28.727 回答