2012-06-17 10 views
25

Dlaczego Eclipse, podczas budowania projektu Android, utknie w nieskończonej pętli do tworzenia przestrzeni roboczej ... i (re) Budowania przestrzeni roboczej ... i (re) Budowanie przestrzeni roboczej ...Eclipse nadal tworzy przestrzeń roboczą ... i buduje przestrzeń roboczą ... i przestrzeń roboczą budynku

Czy to znany błąd?

Jaki jest właściwy sposób na wyjście z tej pętli?

Uwagi:

  1. Gdybym odznacz Project > Build Automatically, buduje w porządku, a nawet eksportuje doskonale działa podpisany APK zwalniający.
  2. Ten problem zaczął się dopiero po uaktualnieniu do najnowszego pakietu SDK r19. Wcześniej (SDK r11) nigdy nie doświadczyłem tego problemu.
  3. Bug 160868 opisuje dokładnie ten problem. Ale czy od tego czasu nie zostało to rozwiązane?
  4. Podobny opis problemu został znaleziony here, ale podobnie jak poprzedni, jest stary i nie jest bezpośrednio związany z rozwojem Androida.
  5. sugeruje błąd w obsłudze stałej o nazwie BuildConfig.DEBUG, która może być powiązana lub nie. Ale czy nie zostało to naprawione w r18 ???
  6. Znalazłem tę wspaniałą wskazówkę dla auto tagging/date-stamping w systemie kompilacji Androida, ale nie używam niczego podobnego, oprócz podwójnego sprawdzania i sprawdzania, czy budowniczowie przybywają we właściwej kolejności na listę budowniczych projektów (ta sama kolejność, co inne projekty, które nie wykazują takiego zachowania kompilacji w nieskończonej pętli).
  7. Moje przeczucie mówi mi, że może być plik blokujący lub flaga, która utknęła w jakiś sposób (tryb tylko do odczytu?) I w ten sposób myli system kompilacji. Masz pojęcie, czym może być boolean i gdzie ją znaleźć?
  8. Jeśli najpierw otworzę inny projekt w tym samym obszarze roboczym (który nie wykazuje tego problemu), projekt, który ma ten problem, cudem zatrzymuje nieskończoną odbudowę. Nie dzieje się tak, jeśli odwrócę kolejność, w której projekt jest otwierany jako pierwszy. Czy to oznacza gremliny w systemie budowania Eclipse/SDK/ADT?

Nie „ślepy strzelanie” proszę: odpowiedzieć na to pytanie tylko jeśli osobiście doświadczył tego niesamowitego zjawiska (i rozwiązać go) lub może wskazywać na artykuł, który doświadczył tego niesamowitego zjawiska (i rozwiązać go).

+0

Czy próbowałeś utworzyć nowy obszar roboczy i zaimportować nasz projekt/kod/cokolwiek? Możesz także spróbować użyć funkcji Project -> Clean, jak wspomniano wcześniej: – R3KHYT

Odpowiedz

24

Okazało się, że bug 27940 nie zostało jeszcze naprawione.

używam następujące rozwiązania:

  1. Disable "Project> Buduj automatycznie"
  2. Project> Clean
  3. Project> Budowanie All
3

Czy dodałeś swój obszar roboczy do biblioteki systemu Windows 7 (tj. Do Ulubionych Eksploratora Windows lub Biblioteki Eksploratora Windows)? Inny użytkownik miał podobny problem: here.

Jeśli masz coś otwartego w innym edytorze (w katalogu docelowym projektu), może to również spowodować nieskończoną pętlę "Buduj przestrzeń roboczą".

+3

+1 do prawidłowego odgadnięcia, że ​​jest to stacja robocza z systemem Windows 7 (wersja 64-bitowa). Nie, nie dodałem swojego obszaru roboczego do biblioteki systemu Windows 7. Ponadto sprawdziłem, że żaden plik w tej przestrzeni roboczej nie jest otwarty w innym miejscu.Twoja odpowiedź/pytania powodują, że sprawdzam obszar roboczy, który znajduje się w udziale Samby, ale nawet po ponownym uruchomieniu tego serwera (po 6 lub więcej miesiącach) nadal występuje ten sam problem, co opisany powyżej. –

+1

Tak, skopiowałem cały obszar roboczy dosłownie na lokalny dysk twardy (krótkie nazwy ścieżek bez spacji) i problem nadal występuje. W pewnym sensie odczuwam ulgę, że przejście do lokalnego systemu plików nie rozwiązało problemu, ponieważ wtedy nie miałem wytłumaczenia dla: ** 1. ** Dlaczego problem zaczął się dopiero po aktualizacji z SDK r11 do r19? ** 2. ** Dlaczego ma to miejsce tylko w przypadku tego konkretnego projektu, a nie drugiego? –

+1

Nie jestem pewien ... ale uaktualnienie z 'r11' do' r19' jest dość dużym skokiem. Może coś poszło nie tak podczas aktualizacji? Widziałeś już ten [** post **] (http://stackoverflow.com/questions/4742938/eclipse-android-sdk-building-workspace-deadlock)? Być może masz uszkodzony plik do rysowania lub coś w swoim projekcie. Możesz także mieć zależność cykliczną gdzieś w swoich plikach XML (tzn. Jeden identyfikator odwołuje się do innego identyfikatora, który odwołuje się do pierwszego identyfikatora, a cała sprawa trwa w cyklicznej pętli śmierci). –

1

miałem ten sam problem pop up dla ja i przez chwilę nie mogłem zrozumieć dlaczego.Wtedy w końcu zorientowałem się, co go powoduje (w każdym razie).

Okazuje się, miałem starą projekt w moim obszarze roboczym, który wykorzystuje jeden z moich własnych bibliotek ale droga budowa nie była prawidłowo skonfigurować do korzystania z biblioteki (jej wstyd Eclipse nie mógł po prostu powiedzieć, że!) . Skopiowałem ten obszar roboczy z innego twardego dysku i wydaje mi się, że ścieżki plików były teraz inne.

Więc, czy któryś z twoich projektów w przestrzeni roboczej używać żadnych zewnętrznych bibliotek upewnij się, że ścieżka budowanie jest biblioteka zdefiniowana (Properties -> Java Build Path -> Projects[tab].

Mam nadzieję, że pomaga kogoś innego.

0

Oprócz budowania cały projekt można zamknij projektów, które są gotowe
kliknięcie na gotowym projektem i
iść do
projektu. -> zamknij projektu
nadzieję, że to będzie działać

0

Oba projekty są ze sobą powiązane.

Przejdź do "Projekt-> Właściwości-> Referencje projektu" i sprawdź referencje na obu projektach, które powodują jak nieskończona pętla podczas automatycznego budowania.

0

W moim przypadku to może być rozwiązane w następujący sposób:

miałem okno wiersza polecenia Otwórz z bieżącego katalogu określonym w folderze docelowym-projektów będzie budować. To spowodowało nieskończoną pętlę. Zamykanie okna i rozwiązywanie problemu.

Domyślam się, że jeśli coś uniemożliwi eclipse usunięcie jakiegoś folderu docelowego, będzie próbowało w kółko.

2

Rozwiązałem go, otwierając plik .project mojego modułu. Były dwa zbędne wpisy i usuwanie jeden pomógł:

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

Czasami może być również spowodowane przez następujące dwa wpisy z której trzeba usunąć starszego wpisu z org.maven.ide

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

Może to być również, że istnieją dwa identyczne natury:

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

lub dwie natury, z których jeden jest stary

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

prostu usunąć zbędny jeden lub stary org.maven.ide.eclipse.maven2Nature

+1

Żadne z tych nie miało miejsca w moim "prawie nieskończonym problemie z budową", ale pomogło mi to znaleźć inny - z jakiegoś powodu zaćmienie w swojej nieskończonej mądrości zdecydowało dodać walidatora javascript do mojego projektu GWT (który tworzy dużo (!) JavaScriptu, ale nic z tego nie musi być sprawdzane). Po usunięciu tego, moja kompilacja jest tak szybka, jak być powinna. +1 za umieszczenie mnie na właściwej drodze. –

+0

Interesujące! W jaki sposób wyłączyć sprawdzanie poprawności skryptu Java? Poprzez Project Right kliknij \ Properties \ Validation lub edytowałeś plik projektu (usuń org.eclipse.wst.jsdt.core.javascriptValidator)? – Lonzak

+0

Tak, właśnie usunięto wpis sprawdzania poprawności i naturę javascript w pliku '.project'. –

0

miałem ten sam problem i rozwiązać go wymontować: Project> Właściwości> Builders> JavaScript Validator

nie miałem JavaScript na moim webapp.

Powiązane problemy