在Eclipse中清理暂时破坏Android项目,并显示错误消息:缺少必需的源文件夹:'gen'

时间:2010-09-29 09:59:39

标签: android eclipse

我在Eclipse中遇到了一个棘手的Android项目问题。我所有的其他Android项目都很好(目前)。每当我执行一个干净(菜单:项目 - >清理...)时,项目会出错,我无法编译/运行应用程序。错误是:

项目'项目名称'缺少必需的源文件夹:'gen'

一旦我编辑了一些代码,问题就会消失,直到我再次执行清理。我也可以右键单击gen文件夹并将其删除。 Eclipse将重新创建gen文件夹,问题消失,直到我执行干净。这不是一个showstopper,但它真的很烦人,因为我有时必须在运行应用程序之前做一个干净。

我正在使用以下内容:
操作系统:Ubuntu 10.04(Linux CYLON 2.6.32-24-generic)
Eclipse:Helios Release(构建ID:20100617-1415)
Android开发工具:0.9.7.v201005071157-36220(截至今日最新)

4 个答案:

答案 0 :(得分:3)

我们终于找到了有关此错误的最后一个问题。

“clean”操作用于始终删除错误的“gen”文件夹。 这是在ADT 8或9中修复的,我不记得了。

但是,如果“gen”文件夹被标记为派生文件夹,它仍会被删除,从而导致错误。

运行“新建项目向导”时,gen文件夹是正常创建的,没有“派生”标志,所以没关系。

然而,以下情况被打破:

  • 手动删除gen,或
  • 检查存储库中的源代码(git / svn / ...),不要将“gen”文件夹放在那里,然后在另一台计算机上签出。

    < / LI>
  • 这导致ADT在构建期间自动重新创建“gen”文件夹,这次启用“derived”标志,这将触发“clean”上的错误行为。

临时解决方案是:

  • 右键点击“gen”
  • 选择“属性”
  • 取消选中“衍生”

只要“gen”文件夹没有被删除,您就可以清除项目而没有副作用。

我刚刚检查了修复: - 永远不要将文件夹标记为“派生” - 在清理期间,首先从“gen”中删除“derived”标志,以便在旧项目的情况下不会删除它。 修补程序显示在:https://review.source.android.com/#change,22410

答案 1 :(得分:2)

我有同样的问题,我有解决方法:

  1. 禁用“自动构建”
  2. 清理项目
  3. 通过“新建 - &gt;文件夹”
  4. 手动创建“gen”文件夹
  5. 根据需要重新启用“自动构建”

答案 2 :(得分:1)

它不是一个showstopper但是如果你有几个人在同一个项目上工作并且你无法将IDE设置检入源库,那么它是如此痛苦和烦人,你有Ant构建脚本和基于IDE的构建系统设置无论什么原因。

它不是一个showstopper,因为您可以每隔一段时间手动执行此操作,但这只是(a)解决方法。令人痛苦的是,我们很多人都必须仔细检查logcat / console / navigator / project_setting,以确保每次出现时都不存在其他“真实”问题。

我怀疑根本原因是验证“gen”存在的时间问题,第二个是重新验证“构建路径错误”条件。 “gen”文件夹,无论是否标记为派生,都可以重新创建;一旦存在,应该更新“构建路径错误”条件。第二个问题是这两个条件标志以某种方式存在死锁。

希望你能深入研究这个问题并进行修复。

答案 3 :(得分:0)

AFAIK,如果一切都很完美,你就知道需要触摸或删除gen文件夹。

As soon as I edit some code the problem disappears until I perform a clean again.

您在代码中更改了哪些内容。主要是关于资源。据我所知,它有所不同。不要只看到Logcat和考虑控制台窗口也会显示一些红色的错误。首先清除错误,然后清理并构建项目。

编辑:

检查:

  1. Android套餐是否缺失?
  2. 右键单击 - &gt;属性 - &GT; Java构建路径 - &gt;订单和支持标签 - &gt;选中了res res或src文件夹?