Eclipse doesn't generate the .apt_generated folder for Butter Knife
Asked Answered
F

2

6

I have carefully followed the instructions in the official guide to enable annotations in my Eclipse ADT 3.8.

That is, Annotation Processing and Factory Path are properly configured:

Annotation Processing

Factory Path

My Android application compiles successfully. It runs too, of course, but I get obvious NPEs due to views that are expected to be initialized by Butter Knife stay null.

If I change the configuration to generate, say .apt_generated_foo_bar, Eclipse will create that folder. But empty.

Any ideas on how I can convince Eclipse to create the appropriate classes in .apt_generated?

Fuddyduddy answered 2/5, 2014 at 3:8 Comment(2)
Similar to this ? #23288554Whoredom
Yes, it is. But in that case the problem was just that the project did not compile. That is not my case.Fuddyduddy
T
3

This question (and answer) duplicates this one: Butterknife does not create anything in .apt_generated directory

First you need to make sure you have an Android project and not an Android library project because Butterknife handles library projects using a different approach.

To do this click Project Properties and go to the Android section. For further details see the Android documentation:

Then check these settings in 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

Finally do a refresh in Eclipse and clean to do a full rebuild.

The problem with the other suggestion is changing the JDK to 1.7 means you can only target Kitkat (4.4) or higher.

Thermostatics answered 25/9, 2014 at 10:22 Comment(0)
N
1

I had same problem, changed: Project>Properties>JavaCompiler>CompilerComliance level from 1.6 to 1.7 now Clean Project, and it worked

Nielsen answered 21/8, 2014 at 7:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.