Eclipse不会为Butter Knife生成.apt_generated文件夹

时间:2014-05-02 03:08:07

标签: android eclipse annotations butterknife

我已仔细按照the official guide中的说明在Eclipse ADT 3.8中启用注释。

注释处理工厂路径已正确配置:

Annotation Processing

Factory Path

我的Android应用程序编译成功。当然,它也会运行,但由于预期由Butter Knife初始化的视图null,我得到明显的NPE。

如果我将配置更改为生成,例如.apt_generated_foo_bar,Eclipse将创建该文件夹。但是空了。

关于如何说服Eclipse在.apt_generated中创建适当的类的任何想法?

2 个答案:

答案 0 :(得分:3)

这个问题(和答案)重复了这个问题:Butterknife does not create anything in .apt_generated directory

首先,您需要确保拥有 Android 项目和not an Android library项目,因为Butterknife使用a different approach处理库项目。

要执行此操作,请点击Project Properties并转到Android部分。有关详细信息,请参阅the Android documentation

然后在 project / .factorypath 中检查这些设置:

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

项目/ .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

项目/ .settings / org.eclipse.jdt.core.prefs

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

最后在Eclipse中进行刷新并清理以进行完全重建。

另一个建议的问题是将JDK更改为1.7意味着您只能定位Kitkat(4.4)或更高版本。

答案 1 :(得分:1)

我有同样的问题, 已更改:项目&gt;属性&gt; JavaCompiler&gt; CompilerComliance级别从1.6到1.7  现在清洁项目, 它工作了