Я внимательно следил за инструкциями в официальном руководстве, чтобы включить аннотации в моем Eclipse ADT. 3.8.

То есть Обработка аннотаций и Factory Path настроены правильно:

Annotation Processing

Factory Path

Мое приложение для Android успешно компилируется. Он, конечно, тоже работает, но я получаю очевидные NPE из-за представлений, которые, как ожидается, будут инициализированы остановкой Butter Knife null.

Если я изменю конфигурацию для генерации, скажем .apt_generated_foo_bar, Eclipse создаст эту папку. Но пусто.

Есть идеи, как я могу убедить Eclipse создать соответствующие классы в .apt_generated?

6
espinchi 2 Май 2014 в 07:08

2 ответа

Лучший ответ

Этот вопрос (и ответ) дублирует этот: Butterknife действительно ничего не создавать в каталоге .apt_generated

Сначала вам нужно убедиться, что у вас есть проект Android , а не < strong> Android library , потому что Butterknife обрабатывает библиотечные проекты, используя другой подход..

Для этого нажмите Project Properties и перейдите в раздел Android. Дополнительные сведения см. В документации Android:

Затем проверьте эти настройки в project / .factorypath :

<factorypath>
    <factorypathentry kind="WKSPJAR" id="/PotlatchClient/libs/butterknife-5.1.2.jar" enabled="true" runInBatchMode="false"/>
</factorypath>

project / .settings / org.eclipse.jdt.apt.core.prefs :

eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
org.eclipse.jdt.apt.genSrcDir=.apt_generated
org.eclipse.jdt.apt.reconcileEnabled=true

project / .settings / org.eclipse.jdt.core.prefs :

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.processAnnotations=enabled

Наконец, выполните обновление в Eclipse и очистите, чтобы выполнить полную перестройку.

Проблема с другим предложением - изменение JDK на 1.7 означает, что вы можете настроить таргетинг только на Kitkat (4.4) или выше.

3
Community 23 Май 2017 в 11:46

У меня была такая же проблема, изменилось: Project> Properties> JavaCompiler> CompilerComliance level с 1.6 до 1.7 теперь Clean Project, и это сработало

1
subhash 21 Авг 2014 в 07:00