Eclipse / Android: «Ошибки при запуске компоновщика Android Pre Compiler в проекте…»

97

Пытаюсь поработать над проектом Android, над которым я не работал пару месяцев, но каждый раз, когда я пытаюсь создать проект, Eclipse выдает диалоговое окно с сообщением:

'Building workspace' has encountered a problem

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

Я запускаю Eclipse на Mac с целью сборки проекта Android 4.0.3 (уровень API 15), и у меня установлены следующие версии вещей.

  • Затмение - 3.7.2
  • Инструменты разработки Android - 21.0.1
  • Android SDK - до 17

Я уже пробовал несколько вещей, например, запустить новое рабочее пространство, установить это Subversive SVN JDT Ignore Extensions, обновить все, убедиться, что у меня нет файлов без расширений в исходной папке (или где-либо еще), убедиться, что мой компилятор Java - 1.6, и выключить и снова включить его.

РЕДАКТИРОВАТЬ

Вот трассировка стека из журнала ошибок Eclipse для этой проблемы:

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)

И данные сеанса:

eclipse.buildId = M20120208-0800
java.version = 1.6.0_37
java.vendor = Apple Inc.
Константы загрузчика: OS = macosx, ARCH = x86_64, WS = cocoa, NL = en_US
Аргументы каркаса: -keyring /Users/onemick/.eclipse_keyring -showlocation
Аргументы командной строки: -os macosx -ws cocoa -arch x86_64 -data / Projects / _EclipseWorkspace -keyring /Users/onemick/.eclipse_keyring -showlocation

ДРУГОЙ РЕДАКТИРОВАНИЕ

Хорошо, поэтому дальнейший поиск привел меня к этой странице , которая предполагает, что эта проблема определенно связана с наличием файлов без расширения в моем проекте - однако я не знаю, какой файл и хоть убей, я не могу найти любой в этом проекте!

Я был бы даже счастлив, если бы кто-нибудь мог объяснить, что означает эта ошибка, и как я могу получить больше отладочной информации об основной ошибке.

Мик Бирн
источник
1
какова цель сборки вашего проекта?
Падма Кумар
Android 4.0.3 (уровень API 15)
Мик Бирн,
Да, я пробовал все различные решения, предложенные в этой проблеме, но ни одно из них не решило мою проблему. Я задал этот отдельный вопрос, так как у меня проблема только с предварительным компилятором Android. Я даже не понимаю, что означает эта «проблема».
Мик Бирн

Ответы:

107

Для тех из вас , кто не хочет , чтобы установить предварительный просмотр версии ADT, есть обходной путь описан здесь .

  1. Откройте свойства проекта в Eclipse, затем Ресурсы -> Фильтры ресурсов.
  2. Нажмите кнопку «Добавить ...» -> установите флажок «Исключить все», «Файлы и папки», «Все дочерние элементы». В текстовое поле введите ".svn" (без кавычек).
  3. Перезапустите Eclipse.

У меня была такая же проблема с папкой .git , она работала как шарм.

Вадим Котов
источник
Имейте в виду, что вам нужно закрыть и снова открыть проект после этого изменения.
Tommie
Обратите внимание, что ADT 21.1 отсутствует, и это исправлено, поэтому вы можете просто обновить свои инструменты.
Вадим Котов
Пожалуйста, помогите мне избавиться от этой ошибки, я вижу, что она сработала для всех вас, ребята, но я все еще получаю ту же ошибку
user1106888
@ user1106888, возможно, у вас есть другая папка с точкой в ​​ее имени. или некоторые файлы без расширений, они тоже могут вызвать эту ошибку.
Вадим Котов
Похожая / связанная проблема: stackoverflow.com/questions/14188650/…
Mr-IDE
84

Я всегда ненавижу отвечать на свои вопросы, но это верное решение.

В версии 21.0.1 инструментов ADT есть ошибка, которая препятствует сборке проекта, если у вас есть файлы без расширений. Это особая проблема для пользователей (таких как я), использующих Subversion с файлами без расширений.

Одно из рекомендуемых решений - установить эти «подрывные» плагины Eclipse (Справка> Установить новое программное обеспечение> Работа с сайтом с версией Eclipse> Разверните «Сотрудничество»> Выберите «Subversive SVN JDT Ignore Extensions» и «Subversive SVN Team Provider»), но это не так. У меня не работает (я на Индиго, возможно, на Юноне работает).

Решение заключается в установке предварительной версии 21.1 инструментов ADT и диспетчера SDK от Google. Здесь можно найти четкие инструкции, и вы можете прочитать всю предысторию, чтобы добавить свой голос к разъяренной толпе разработчиков здесь .

Мик Бирн
источник
4
Это решает проблему, обязательно обновите и SDK, и ADT.
Майкл Марселла
1
@MickByrne Спасибо. Судя по всему, мне пришлось установить канал «превью» ADT и SDK, чтобы решить проблему с Eclipse Juno. Спасибо.
Aleks G
3
Если после установки подрывных плагинов проблема не исчезнет, ​​попробуйте следующее: удалите проект из своей рабочей области, удалите папки bin и gen и убедитесь, что они исключены из svn, затем повторно добавьте проект в рабочее пространство (Файл> Создать> Проект, Проект Android из существующего кода). Если теперь он назван неправильно, щелкните его правой кнопкой мыши> Рефакторинг> Переименовать. Это устранило проблему для меня.
Гленн Шмидт
3
21.1 уже нет, так что вы можете перейти на него, если вам не нравятся превью.
Ксавье Дюкроэ,
1
mar13 больше не ПРОСМОТР. просто зайдите в SDK Manager и обновите.
Тони Гил
15

Я только что перезапустил Eclipse, и проблема была решена.

H2O
источник
9

У меня тоже была такая же проблема, и я понял, что закрыл другой проект, связанный с тем, который я строил. Как только я его открыл, все исчезло.

арниотаки
источник
Спасибо, это полностью сработало. Импорт проекта, который я использовал в качестве библиотеки, был полон ошибок, поэтому я закрыл его (также потому, что в то время я не использовал его функции). Так как он мне не нужен, я отключил его от своих библиотек (через «Свойства» -> «Android» -> выберите библиотеку, затем нажмите «Удалить»), и исходные ошибки проекта исчезли. УРА!
Azurespot
2

Возможно, у вас есть закрытая библиотека appcompact_v7 для создания нового файла. это решило мою проблему, открыв ее обратно

Винод Джоши
источник
1

Я встречаю эту ошибку и удаляю весь файл .svn, мой проект не может работать, когда обрабатывается 55%

и я обнаружил, что это пустой каталог res в моем проекте, я не знаю, как он приходит, но когда удаляю пустой каталог res, мой проект работает,

Итак, вы должны проверить все свои файлы в своем проекте.

user998953
источник
1

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

Амрит Пал Сингх
источник
1

Если вы случайно закрыли проекты библиотеки, которые необходимы для запуска вашего проекта, просто откройте их в eclipse. Эта ошибка должна исчезнуть.

Ганеш Хегде
источник
0

Другой случай: я закрыл текущий проект (с сообщением об ошибке сборки), отказался от используемого репозитория SVN, перекомпилировал:

Ошибка строительства

Я добавляю расположение репозитория:

Строим нормально!

Серафимов
источник
0

Для решения этой проблемы мне нужно запустить eclipse от имени администратора.

Эдриан
источник
-1

Недавно я столкнулся с этой проблемой, и приведенные выше решения не помогли мне. у меня не было файлов без расширений. Так получилось, что после добавления нового проекта из существующего кода произошла ошибка установки, которая, похоже, испортила состояние eclipse. После этого любой проект в рабочей области, который я пытался очистить или построить, выдавал ошибку предварительного компилятора Android с java.lang.NullPointerException.

Я обнаружил, что файлы main.xml внутри каталога / res по какой-то причине не были найдены, хотя файла там было очень много. Решение заключалось в том, чтобы закрыть все перспективы открытых файлов на панели редактирования Java Eclipse, закрыть все проекты, затем открыть проект и открыть основной XML-файл. После того, как я это сделал, проблема с прекомпилятором исчезла.

sri_s
источник