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, и проблема была решена.


9

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


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

2

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


1

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

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

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


1

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


1

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


0

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

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

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

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


0

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


-1

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.