#import "_setup.html" as s> <@s.scaffold title="Android"> <@s.introduction>
Android development with lombok is easy and won't make your android application any 'heavier' because lombok is a compile-time only library. It is important to configure your android project properly to make sure lombok doesn't end up in your application and waste precious space on android devices.
The instructions listed below are excerpts from The
AndroidAnnotations project cookbook. You may wish to refer to that documentation for complete instructions; lombok is just
the equivalent to androidannotations-VERSION.jar; there is no -api aspect.
>= 0.4.3
dependencies block (requires Gradle v2.12 or newer):
dependencies {
compileOnly "org.projectlombok:lombok:${version}"
}
Follow the previous instructions (Gradle). In addition to setting up your gradle project correctly, you need to add the Lombok IntelliJ plugin to add lombok support to Android Studio:
File > Settings > Plugins
Browse repositories...
Lombok Plugin
Install plugin
In eclipse, create a 'lightweight' lombok jar that contains only the annotations by running:
java -jar lombok.jar publicApiThen, add the
lombok-api.jar file created by running this command to your android project instead of the complete lombok.jar, and, as usual, install lombok into eclipse by double-clicking lombok.jar.
@s.section>
<@s.section title="Maven">
You should be able to just follow the normal integrate lombok with maven instructions.
Note that if you use android, eclipse, and maven together you may have to replace lombok.jar in your eclipse android project's build path (which you can modify in that project's properties page) with lombok-api.jar, as produced in the procedure explained for Eclipse, above.
build.xml in ${r"${ANDROID_SDK_ROOT}"}/tools/ant/build.xml and copy the -compile target into the paste buffer.
build.xml of your own project, right before the <import file="${r"${sdk.dir}"}/tools/ant/build.xml"> line.
compile-libs directory in your own project and copy the complete lombok.jar to it.
<classpath> entry inside the <javac> task in the -compile target you just copied:<fileset dir="compile-libs" includes="*.jar" /> to it.