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

esp*_*chi 6 eclipse android annotations butterknife

我已仔细按照官方指南中的说明在Eclipse ADT 3.8中启用注释.

也就是说,正确配置了注释处理工厂路径:

注释处理

工厂路径

我的Android应用程序编译成功.当然,它也会运行,但由于预期由Butter Knife停留的观点,我会得到明显的NPE null.

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

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

Mar*_*ler 3

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

首先,您需要确保您有一个Android项目,而不是Android 库项目,因为 Butterknife 使用不同的方法处理库项目处理库项目。

要执行此操作,请单击Project Properties并转至该Android部分。有关更多详细信息,请参阅Android 文档

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

<factorypath>
    <factorypathentry kind="WKSPJAR" id="/PotlatchClient/libs/butterknife-5.1.2.jar" enabled="true" runInBatchMode="false"/>
</factorypath>
Run Code Online (Sandbox Code Playgroud)

项目/.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
Run Code Online (Sandbox Code Playgroud)

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

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.processAnnotations=enabled
Run Code Online (Sandbox Code Playgroud)

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

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