Eclipse保持构建工作空间...和构建工作空间...和构建工作空间

时间:2012-06-17 21:54:47

标签: android eclipse debugging adt

为什么Eclipse在构建Android项目时会陷入构建工作区的无限循环中......以及(重新)构建工作区......以及(重新)构建工作区......

这是一个已知的错误吗?

摆脱这种循环的正确方法是什么?

注意:

  1. 如果我取消选中Project > Build Automatically,它会构建正常,甚至可以导出一个完美运行的签名版APK。
  2. 此问题仅在我升级到最新的SDK r19后才开始。在此之前(SDK r11)我从未遇到过这个问题。
  3. Bug 160868正好描述了这个问题。但从那以后它还没有被解决吗?
  4. 类似的问题描述发现here但与前一个问题类似,它已经过时且与Android开发没有直接关系。
  5. Issue 27940建议处理名为BuildConfig.DEBUG的const的错误,该错误可能相关也可能不相关。但是它没有在r18 ???中修复。
  6. 我在Android构建系统中找到了auto tagging / date-stamping这个很棒的提示,但我没有使用任何类似的东西,除了仔细检查和验证构建器按照正确的顺序进行项目构建器列表顺序(与没有表现出这种无限循环构建行为的其他项目相同的顺序。)
  7. 我的预感告诉我可能有一个锁定文件或标志以某种方式卡住(只读模式?),从而混淆了构建系统。知道布尔可能是什么以及在哪里找到它?
  8. 如果我首先在同一个工作区中打开另一个项目(没有出现此问题),那么有这个问题的项目会奇迹般地停止无限重建。如果我颠倒首先打开项目的顺序,就不会发生这种情况。这是否暗示了Eclipse / SDK / ADT构建系统中的gremlins?
  9. 不要“盲目拍摄”请:只有当你亲身经历过这种惊人的现象(并解决它)或者能够指出一篇经历过这种神奇现象的文章(并解决了它)时才回答这个问题。

9 个答案:

答案 0 :(得分:24)

原来bug 27940尚未修复。

我使用以下解决方法:

  1. 禁用“项目>自动构建”
  2. 项目>清洁
  3. 项目>全部构建

答案 1 :(得分:3)

您是否将工作区添加到Windows 7库(即Windows资源管理器收藏夹或Windows资源管理器库)?另一位用户遇到类似问题here

如果您在不同的编辑器中打开了某些东西(在项目的目标目录中),这也会导致无限的“构建工作区”循环。

答案 2 :(得分:2)

我通过打开我的模块的.project文件解决了这个问题。有两个冗余条目,删除一个帮助:

<buildCommand>
    <name>org.eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>
<buildCommand>
    <name>org.eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>

有时它也可能是由以下两个条目引起的,您必须从中删除旧的org.maven.ide条目

<buildCommand>
  <name>org.maven.ide.eclipse.maven2Builder</name>
</buildCommand>
<buildCommand>
  <name>org.eclipse.m2e.core.maven2Builder</name>
</buildCommand>

也可能有两种相同的性质:

<natures>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
<natures>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>

或两个性质,其中一个是旧的

<natures>
    <nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
<natures>
    <nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>

只需删除多余的org.maven.ide.eclipse.maven2Nature

即可

答案 3 :(得分:1)

我有同样的问题突然出现在我身上,有一段时间我无法弄明白为什么。然后我终于找出了导致它的原因(无论如何)。

事实证明我在我的工作区中有一个旧项目使用了我的一个自定义库,但构建路径未正确设置以使用库(遗憾的是Eclipse不能简单地告诉我!) 。我从另一个硬盘驱动器复制了这个工作区,我想现在文件路径都不同了。

因此,如果工作区中的任何项目使用任何外部库,请确保构建路径已定义库(Properties -> Java Build Path -> Projects[tab]

我希望能帮到别人。

答案 4 :(得分:0)

除了建立所有项目,你可以 关闭已完成的项目 点击完成的项目和
去 项目 - &gt;关闭项目
希望这会起作用

答案 5 :(得分:0)

两个项目互相引用。

转到“项目 - &gt;属性 - &gt;项目引用”并检查两个项目的引用,这会在自动构建时导致无限循环。

答案 6 :(得分:0)

在我的情况下,这可以通过以下方式解决:

我打开了一个命令行窗口,当前目录设置为要构建的项目的目标文件夹。这导致了无限循环。关闭窗口并解决问题。

我想,如果有什么东西可以阻止eclipse删除一些目标文件夹,它会反复尝试。

答案 7 :(得分:0)

我遇到了同样的问题并通过删除来解决: 项目&gt;属性&gt;建筑商&gt; JavaScript验证器

我的网络应用程序中没有javascript。

答案 8 :(得分:0)

要加两分钱:是的,它是2019年,所以现在已经安装了Eclipse 2019-06 ... eyeroll 我的意思是我偶尔也会遇到早期版本的问题,但是升级到Eclipse 2019-06,我突然有三个这样的“睡眠者”并行运行,并且无法执行任何操作。

要使其再次起作用,我必须在我的Maven存储库中删除项目的目录树。因此,就我而言,我只需要删除目录~/.m2/repository/com/sjngm

然后,我重新启动了Eclipse,在启动过程中,它似乎是从内部存储库中下载了该目录下现在丢失的依赖项。