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.
źródło
Odpowiedzi:
Dla tych z Was, którzy nie chcą instalować wersji zapoznawczej ADT, istnieje obejście opisane tutaj .
Miałem ten sam problem z folderem .git , działał jak urok.
źródło
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 .
źródło
Właśnie ponownie uruchomiłem Eclipse i problem został rozwiązany.
źródło
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.
źródło
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
źródło
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.
źródło
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.
źródło
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ąć.
źródło
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!
źródło
Aby rozwiązać ten problem, muszę uruchomić eclipse jako administrator
źródło
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ął.
źródło