Eclipse / Android: „Błędy podczas uruchamiania konstruktora 'Android Pre Compiler' w projekcie…”


97

Próbuję popracować nad projektem na Androida, nad którym nie pracowałem od kilku miesięcy, ale za każdym razem, gdy próbuję zbudować projekt, Eclipse wyświetla okno dialogowe:

'Building workspace' has encountered a problem

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'XXX'
java.lang.NullPointerException

Używam Eclipse na komputerze Mac z celem kompilacji projektu systemu Android 4.0.3 (poziom interfejsu API 15) i mam zainstalowane następujące wersje rzeczy

  • Eclipse - 3.7.2
  • Narzędzia programistyczne dla Androida - 21.0.1
  • Android SDK - do 17

Próbowałem już kilku rzeczy, takich jak uruchomienie zupełnie nowego obszaru roboczego, zainstalowanie tego `` Subversive SVN JDT Ignore Extensions '', zaktualizowanie wszystkiego, upewnienie się, że nie mam żadnych plików bez rozszerzeń w moim folderze źródłowym (ani nigdzie indziej), upewniając się, że mój kompilator Java jest w wersji 1.6 oraz wyłączam go i włączam ponownie

EDYTOWAĆ

Oto ślad stosu z dziennika błędów Eclipse dla tego problemu:

java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.builders.PreCompilerBuilder.build(PreCompilerBuilder.java:673)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:513)
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:432)
at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:305)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

Oraz dane sesji:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Stałe BootLoadera: OS = macosx, ARCH = x86_64, WS = cocoa, NL = en_US
Argumenty struktury: -keyring /Users/onemick/.eclipse_keyring -showlocation
Argumenty wiersza polecenia: -os macosx -ws cocoa -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

KOLEJNA EDYCJA

OK, więc dalsze poszukiwania doprowadziły mnie do tej strony , co sugeruje, że ten problem jest na pewno związany z obecnością plików bez rozszerzenia w moim projekcie - jednak nie wiem, którego pliku i do końca życia nie mogę znaleźć każdy w tym projekcie!

Byłbym nawet szczęśliwy, gdyby ktoś mógł wyjaśnić, co oznacza ten błąd i jak mogę uzyskać więcej informacji o debugowaniu na temat podstawowego błędu.


1
jaki jest cel kompilacji projektu?
Padma Kumar

Android 4.0.3 (poziom API 15)
Mick Byrne


Tak, wypróbowałem wszystkie różne rozwiązania sugerowane w tym problemie, ale żadne z nich nie rozwiązało mojego problemu. Zadałem to osobne pytanie, ponieważ mam tylko problem z „prekompilatorem Androida”. Nawet nie rozumiem, co oznacza ten „problem”.
Mick Byrne

Odpowiedzi:


107

Dla tych z Was, którzy nie chcą instalować wersji zapoznawczej ADT, istnieje obejście opisane tutaj .

  1. Otwórz właściwości projektu w Eclipse, a następnie Zasoby -> Filtry zasobów.
  2. Kliknij przycisk „Dodaj ...” -> zaznacz „Wyklucz wszystko”, „Pliki i foldery”, „Wszystkie dzieci”. W polu tekstowym wprowadź „.svn” (bez cudzysłowów).
  3. Uruchom ponownie Eclipse.

Miałem ten sam problem z folderem .git , działał jak urok.


Pamiętaj, że po tej zmianie musisz zamknąć i ponownie otworzyć projekt.
Tommie

Pamiętaj, że ADT 21.1 jest niedostępny i zostało to naprawione, więc możesz po prostu zaktualizować swoje narzędzia.
Vadim Kotov

Proszę, pomóż mi pozbyć się tego błędu Widzę, że zadziałał dla wszystkich, ale nadal
pojawia

@ user1106888 być może masz inny folder z kropką w nazwie. lub niektóre pliki bez rozszerzeń, mogą również powodować ten błąd.
Vadim Kotov

Podobny / powiązany problem: stackoverflow.com/questions/14188650/…
Mr-IDE

84

Zawsze nienawidzę odpowiadać na własne pytania, ale to jest prawdziwe rozwiązanie.

Wersja 21.0.1 narzędzi ADT ma błąd, który uniemożliwia budowanie projektu, jeśli masz jakieś pliki bez rozszerzeń. Jest to szczególny problem dla użytkowników (takich jak ja) używających subversion z plikami bez rozszerzeń.

Jednym z zalecanych rozwiązań jest zainstalowanie tych „wywrotowych” wtyczek Eclipse (Pomoc> Zainstaluj nowe oprogramowanie> Pracuj z witryną z wersją Eclipse> Rozwiń opcję „Współpraca”> Wybierz „Subversive SVN JDT Ignore Extensions” i „Subversive SVN Team Provider”), ale to się nie udało dla mnie nie działa (jestem na Indigo, może na Juno to działa).

Rozwiązaniem jest zainstalowanie 21,1 podglądu wersji narzędzia ADT i kierownik SDK Google. Jasne instrukcje można znaleźć tutaj i możesz przeczytać całe tło, dodać swój głos do wściekłego tłumu programistów tutaj .


4
To rozwiązuje problem, pamiętaj, aby zaktualizować zarówno zestaw SDK, jak i ADT.
Michael Marsella,

1
@MickByrne Thanks. Najwyraźniej musiałem zainstalować kanał „Preview” ADT i SDK, aby rozwiązać problem z Eclipse Juno. Dzięki.
Aleks G

3
Jeśli po zainstalowaniu wtyczek wywrotowych problem nie zniknie, spróbuj tego: Usuń projekt ze swojego obszaru roboczego, usuń foldery „bin” i „gen” i upewnij się, że są wykluczone ze svn, a następnie ponownie dodaj projekt do obszar roboczy (Plik> Nowy> Projekt, projekt Android z istniejącego kodu). Jeśli teraz ma niepoprawną nazwę, kliknij go prawym przyciskiem myszy> Refaktoryzuj> Zmień nazwę. To rozwiązało problem.
Glenn Schmidt

3
Wersja 21.1 została wydana, więc możesz ją zaktualizować, jeśli nie lubisz podglądów.
Xavier Ducrohet

1
mar13 nie jest już PODGLĄDEM. po prostu przejdź do Menedżera SDK i zaktualizuj.
tony gil

15

Właśnie ponownie uruchomiłem Eclipse i problem został rozwiązany.


9

Miałem też ten sam problem i zdałem sobie sprawę, że zamknąłem inny projekt, który był powiązany z tym, który budowałem. Po otwarciu wszystko zniknęło.


Dzięki, to całkowicie zadziałało. Import projektu, którego używałem jako biblioteka, był pełen błędów, więc go zamknąłem (również dlatego, że nie korzystałem wtedy z jego funkcjonalności). Więc ponieważ go nie potrzebowałem, odłączyłem go od moich bibliotek (poprzez Właściwości -> Android -> wybierz bibliotekę, a następnie kliknij Usuń) i oryginalne błędy projektu zniknęły. YAY!
Azurespot

2

Być może masz zamkniętą bibliotekę „appcompact_v7”, aby utworzyć nowy plik. to rozwiązało mój problem, otwierając go z powrotem


1

Spotykam się z tym błędem i usuwam cały plik .svn, mój projekt nie działa, gdy przetwarzam 55%

i stwierdzam, że jest to pusty katalog res w moim projekcie, nie wiem, jak to się dzieje, ale kiedy usuwam pusty katalog res, mój projekt workd,

więc powinieneś sprawdzić wszystkie swoje pliki w swoim projekcie.


1

Ja też miałem do czynienia z tym samym problemem i zmarnowałem dużo czasu na naprawianie tego, również powyższe rozwiązania nie działają u mnie. Rozwiązałem ten problem, przechodząc do Eclipse -> Pomoc -> Sprawdź aktualizacje, a następnie ponownie uruchamiając Eclipse po zakończeniu aktualizacji.


1

Jeśli przypadkowo zamknąłeś projekty biblioteki, które są niezbędne do uruchomienia projektu, po prostu otwórz je w zaćmieniu. Ten błąd musi zniknąć.


0

Inny przypadek: zamknąłem bieżący projekt (z komunikatem o błędzie budowy), wyrzuciłem używane repozytorium SVN, ponownie skompilowałem:

Błąd budowy

Dodaję lokalizację repozytorium:

Budynek ok!


0

Aby rozwiązać ten problem, muszę uruchomić eclipse jako administrator


-1

Niedawno napotkałem ten problem i powyższe rozwiązania nie zadziałały. nie miałem żadnych plików bez rozszerzeń. Tak się złożyło, że po dodaniu nowego projektu z istniejącego kodu wystąpił błąd konfiguracji, który najwyraźniej zepsuł stan zaćmienia. Potem każdy projekt w obszarze roboczym, który próbowałem wyczyścić lub skompilować, powodował błąd prekompilatora Androida z wyjątkiem java.lang.NullPointerException.

stwierdziłem, że pliki main.xml w katalogu / res z jakiegoś powodu nie zostały znalezione, mimo że plik był tam bardzo dużo. Rozwiązaniem było zamknięcie wszystkich otwartych perspektyw plików w panelu edycji Eclipse Java, zamknięcie wszystkich projektów, a następnie otwarcie projektu i otwarcie głównego pliku xml. Po tym, jak to zrobiłem, problem z prekompilatorem zniknął.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.