2012-06-17 4 views
25

Почему Eclipse при создании проекта Android застрял в бесконечном цикле для рабочего пространства ... и (re) Building workspace ... и (пере) Строительное рабочее пространство ...Eclipse сохраняет рабочее пространство ... и рабочее пространство здания ... и рабочее пространство для строительства

Известно ли это об ошибке?

Каков правильный способ выйти из этого цикла?

Примечания:

  1. Если я снимите Project > Build Automatically, он строит отлично и даже экспортирует отлично работает подписанный релиз APK.
  2. Эта проблема возникла только после обновления до последнего SDK r19. До этого (SDK r11) я никогда не испытывал этой проблемы.
  3. Bug 160868 описывает именно эту проблему. Но разве это не решено с тех пор?
  4. Аналогичное описание проблемы найдено here, но, как и предыдущий, оно устарело и не имеет прямого отношения к разработке Android.
  5. Issue 27940 предлагает ошибку при обработке константы с именем BuildConfig.DEBUG, которая может быть или не быть связанной. Но разве это не было исправлено в r18 ???
  6. Я нашел этот отличный совет для auto tagging/date-stamping в системе Android для Android, но я не использую ничего подобного, в дополнение к двойной проверке и проверке того, что строители приходят в правильном порядке в список заказов строителей проекта (в том же порядке, что и другие проекты, которые не демонстрируют это поведение построения бесконечного цикла).
  7. Моя догадка говорит мне, что может быть файл блокировки или флаг, который каким-то образом застрял (режим только для чтения?) И таким образом смущает систему сборки. Любая идея, что может быть таким булевым и где его найти?
  8. Если я впервые открою другой проект в том же рабочем пространстве (который не проявляет этой проблемы), проект, который имеет эту проблему, чудесным образом останавливает бесконечную перестройку. Это не происходит, если я сначала отменил порядок открытия проекта. Означает ли это гремлины в системе построения Eclipse/SDK/ADT?

Нет «слепой стрельбы», пожалуйста, ответьте на этот вопрос, только если вы лично испытали это удивительное явление (и решили его) или можете указать на статью, которая испытала это удивительное явление (и решила его).

+0

Вы пытались создать новую Рабочую область и импортировать наш Проект/Кодекс/Что бы то ни было? Также вы можете попробовать использовать функцию Project -> Clean, как уже упоминалось, – R3KHYT

ответ

24

Выключено bug 27940 еще не было исправлено.

Я использую следующий обходной путь:

  1. Отключить "Project> Build Automatically"
  2. Project> Clean
  3. Project> Build All
3

Вы добавили свое рабочее пространство в библиотеку Windows 7 (то есть в Избранное Windows Explorer или в библиотеки Windows Explorer)? У другого пользователя была аналогичная проблема here.

Если у вас есть что-то открытое в другом редакторе (в целевом каталоге вашего проекта), это также может вызвать бесконечный цикл «Build Workspace».

+3

+1 для правильной угадывания, что это рабочая станция Windows 7 (64-разрядная). Нет, я не добавлял свое рабочее пространство в библиотеку Windows 7. Кроме того, я проверил, что файл в этой рабочей области не открыт в другом месте.Ваш ответ/вопросы подскажите мне проверить рабочее пространство, которое происходит на общем ресурсе Samba, но даже после перезагрузки этого сервера (через 6 месяцев) сохраняется такая же проблема, как описано выше. –

+1

Да, я скопировал всю рабочую область до локального жесткого диска (короткие пути без пробелов), и проблема сохраняется. В каком-то смысле я с облегчением понял, что переход к локальной файловой системе не помог решить проблему, потому что тогда у меня не было бы объяснений: ** 1. ** Почему возникла проблема только после обновления с SDK от r11 до r19? ** 2. ** Почему это происходит только для этого конкретного проекта, а не для другого? –

+1

Я не уверен ... но обновление с 'r11' до' r19' - довольно большой прыжок. Может быть, что-то пошло не так во время обновления? Вы видели это [** post **] (http://stackoverflow.com/questions/4742938/eclipse-android-sdk-building-workspace-deadlock), кстати? Возможно, у вас есть коррумпированный файл или что-то в вашем проекте. У вас также может быть круговая зависимость где-то в ваших XML-файлах (т. Е. Один идентификатор ссылается на другой идентификатор, который ссылается на первый идентификатор, и все это происходит в круговой петле смерти). –

1

я этот же вопрос всплывал для я и на некоторое время не мог понять, почему.Затем я, наконец, понял, что вызывает его (для меня все равно).

Оказывается, у меня был старый проект в моем рабочем пространстве, который использует один из моих пользовательских библиотек, но путь сборки был не настроен должным образом, чтобы использовать библиотеку (его позор Eclipse, не мог просто сказать мне, что!) , Я скопировал это рабочее пространство с другого жесткого диска, и я думаю, что пути к файлу были разными.

Так что, если какие-либо из ваших проектов в рабочей области с помощью каких-либо внешних библиотек, убедитесь, что путь построения определила ваша библиотека (Properties -> Java Build Path -> Projects[tab].

Я надеюсь, что помогает кому-то еще.

0

Помимо строительства всего проекта вы можете Закрыть проекты, которые закончили
нажмите на готовый проект и
перейти к
проекта -.> Закрыть проект
надеюсь, что это будет работать

0

Оба проекта ссылаются друг на друга.

Перейдите в «Project-> Properties-> Project References» и проверьте ссылки на оба проекта, которые при построении автоматически вызывают бесконечный цикл.

0

В моем случае это может быть решено следующим образом:

У меня был окно командной строки открытого с текущим каталогом, установленным в целевой папку-проектов, которые должны быть построены. Это вызвало бесконечный цикл. Закрытие окна и проблемы решены.

Я думаю, что если что-то мешает затмению удалить какую-то целевую папку, он будет пытаться снова и снова.

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

+1

Ни то, ни другое не относится к моей «почти бесконечной проблеме сборки», но это помогло мне найти другую - по какой-то причине, затмение, в своей бесконечной мудрости, решило добавить JavaScript-валидатор в мой проект GWT (который создает LOT (!) Javascript, но ни один из них не нуждается в проверке). После этого, моя сборка будет такой же быстрой, как и следовало бы. +1 для того, чтобы поставить меня на правильный путь. –

+0

Интересно! Как вы отключили проверку Java-скрипта? Через проект Щелкните правой кнопкой мыши \ Свойства \ Проверка или вы отредактировали файл проекта (удалите файл org.eclipse.wst.jsdt.core.javascriptValidator)? – Lonzak

+0

Да, просто удалил запись проверки и характер javascript в файле '.project'. –

0

У меня была такая же проблема, и решить ее REMOVE: Проект> Свойства> Строители> JavaScript валидатор

У меня не было JavaScript на моем веб-приложение.

Смежные вопросы