#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.