【问题标题】:gen already exists but is not a source foldergen 已存在但不是源文件夹
【发布时间】:2012-03-20 21:10:37
【问题描述】:

我正在开发我的 Android 项目,删除未使用的库后,我收到 错误:

myproject/gen already exists but is not a source folder. Convert to a source folder or rename it

在我的 Activity 代码中,无法解析来自 R.java 的所有资源。

我试过了,右键单击我的项目 => Java Build Path => 在“源”选项卡下,我添加了 gen/ 作为源。但这对解决问题没有帮助...

为什么,如何解决这个问题?

----更新----

我发现,eclipse还报错“项目没有project.properties文件!编辑项目属性设置一个。” ,但我的项目下确实有 project.properties 文件。为什么会抱怨?我已经清理了项目并“修复项目属性”,但没有帮助。

【问题讨论】:

  • 检查您的 src 文件夹是否包含任何 gen 文件夹。如果有删除它。 .无需手动创建。清理您的项目一次。
  • 嗨,我的 src 文件夹不包含任何 gen 文件夹...
  • 导入项目后发生在我身上
  • 你有一个很好的答案,目前评分为 79,但你还没有接受。你应该接受它。你的“更新”应该是一个单独的问题(你可能想看看是否有人已经回答了它)。
  • 我认为我的回答将有助于解决这个问题。stackoverflow.com/questions/9738203/…

标签: android android-layout android-intent android-emulator android-widget


【解决方案1】:

我遇到了同样的问题。

两个动作,第一个:

    1.右键单击项目并转到“属性”
    2.选择左侧的“Java Build Path”
    3.打开“来源”选项卡
    4.单击“添加文件夹...”并检查“gen”和“src”

第二个:(因为之前的操作要求我删除一些东西……我不记得是什么了……)

    1.右键单击项目并转到“属性”
    2.选择左侧的“Java Build Path”
    3.打开库“选项卡”
    4. 添加一个外部 JAR。添加您的 android 目录中的 Google API (android-sdk\platforms\android-yourversion

现在它对我有用!

【讨论】:

  • 在我的情况下,我只需要做上面提到的第一部分。谢谢!
  • 第一个解决方案也帮助我第一次尝试:)
  • 工作...但是这是怎么发生的?愚蠢的安卓。 :-)
  • 第一步对我有用。不知道 Eclipse 如何或为什么决定只删除这些文件夹(.classpath 似乎没有改变)......
  • 干杯.. 工作得很好:)
【解决方案2】:

解决方案:

第 1 步:

  • 右键单击项目并转到“属性”
  • 选择“Java 构建路径”
  • 切换到“源”选项卡从构建路径上的源文件夹中删除所有源
  • 重启 Eclipse

第 2 步:

  • 右键单击项目并转到“属性”
  • 选择“Java 构建路径”
  • 切换到“来源”标签
  • 单击“添加文件夹...”并检查“gen”和“src”源文件夹 构建路径
  • 重启 Eclipse

决赛

构建项目

快乐的编码员:)

【讨论】:

  • check gen 只解决问题,对src文件夹无效
  • 我会浪费我的一天。谢谢
【解决方案3】:
  1. 右键单击项目并转到属性
  2. 选择左侧的Java Build Path
  3. 打开来源标签
  4. 单击添加文件夹...并检查gensrc

【讨论】:

  • 这是最好的答案。简明扼要,问题解决了,砰!
【解决方案4】:

这是由于在 Eclipse 中使用了错误的导入器造成的。如果您有 Android 项目,则需要使用 Android->Existing Android Code 将它们导入您的工作区,而不是 General->Existing Projects

【讨论】:

    【解决方案5】:

    我不得不从文件资源管理器中删除 eclipse 中的整个 gen 文件夹。然后做了一个清洁,它被重建了。有趣的是,这发生在我运行 Lint HTML 报告之后。

    【讨论】:

    • 这也对我有用。刚刚删除了gen文件,几秒后又重新生成了,一切恢复正常。
    【解决方案6】:

    gen 文件夹是 ADT 创建 R.java 文件的位置,该文​​件指定您的资源定义。即您的资源(颜色、尺寸、布局等)被转换为代码,并放置在 gen 文件夹中的 R.java 中。

    因此,当您构建应用程序时,您需要确保 gen 文件夹被您的 IDE 视为源代码文件夹,因为它包含 R 类。

    在您的 IDE 中,您需要将 gen 文件夹标记为源文件夹,以便其内容与您的源一起构建。

    您的接受率非常低。如果您希望人们帮助您,您需要较高的接受率。

    【讨论】:

    • 但是如果没有正确答案我怎么能接受呢?我确实检查了答案,但没有人是解决方案...例如,我当前的帖子,我知道什么是 gen/ 以及它在 Android 中的工作原理,我正在寻求解决我当前问题的方法。但还没有。
    【解决方案7】:

    我遇到了同样的问题,解决方法如下:

    在Package Explorer中,右键gen文件夹,找到“Build Path - Use as Source Folder”并点击。

    就是这样。我希望它会有所帮助。

    【讨论】:

      【解决方案8】:

      我为一个有同样问题的项目配置了 SVN,删除了所有文件夹和文件,再次从 SVN 检索它,但仍然没有运气。唯一有帮助的是还原更改,并将项目删除/重新导入到工作区。希望这会有所帮助

      【讨论】:

        【解决方案9】:

        我上次遇到这个问题是因为我将源代码切换到了幕后的另一个分支。关闭 Eclipse 并重新启动后,问题就消失了。

        【讨论】:

          【解决方案10】:

          我有一些相同的症状,但解决方法不同:

          我发现在可绘制目录中有两个文件存在冲突:icon.png 和 icon.xcf。这使得 R 无法生成。我将 icon.xcf 移开,生成 R 并编译项目。

          【讨论】:

            【解决方案11】:

            转到项目属性 然后 转到 Java 构建路径 然后 删除已存在的文件夹 然后 单击添加文件夹 然后 添加 Source 和 gen 文件夹。 然后 按确定............它会工作......

            【讨论】:

              【解决方案12】:

              我的解决方案是将以下内容粘贴到 .classpath 文件中:

              <?xml version="1.0" encoding="UTF-8"?>
              <classpath>
                  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
                  <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
                  <classpathentry kind="src" path="src"/>
                  <classpathentry kind="src" path="gen"/>
                  <classpathentry kind="output" path="bin/classes"/>
              </classpath>
              

              【讨论】:

                【解决方案13】:

                我们还需要检查我们的导入语句,如果我们已经导入了 'android.R' 必须删除它。

                【讨论】:

                  【解决方案14】:

                  发生这种情况是因为您的 .classpath 文件以某种方式被清除了。该文件包含项目属性下 Java 构建路径选项卡中的所有信息。您可以手动添加所有信息,但有一种更简单的方法可以解决此问题。

                  如果您的计算机上有 .classpath 文件的副本,您只需将其复制并粘贴到您的项目目录中即可。

                  【讨论】:

                    【解决方案15】:

                    我尝试了这里给出的建议,但仍然有问题。最后,事实证明 Eclipse 的导入错误。出于某种原因,它在导入行的开头添加了“gen”和“src”这两个词。我不得不从

                    更改所有导入行
                    import gen.org.qtproject.qt5.android.bindings.QtApplication;
                    

                    import org.qtproject.qt5.android.bindings.QtApplication;
                    

                    一旦我这样做了,一切就恢复正常了。

                    【讨论】:

                      猜你喜欢
                      • 2012-04-02
                      • 2011-09-05
                      • 2015-07-23
                      • 2016-09-19
                      • 2020-12-26
                      • 2019-01-01
                      • 2013-05-22
                      • 2013-06-24
                      相关资源
                      最近更新 更多