Back to Lombok

Android

website/templates/setup/android.html

1.18.463.1 KB
Original Source

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

@s.introduction> <@s.section title="Gradle">

  • Make sure that the version of your android plugin is >= 0.4.3
  • Use the gradle-lombok plugin.
  • If you don't want to use the plugin, add Lombok to your application's dependencies block (requires Gradle v2.12 or newer):
dependencies {
	compileOnly "org.projectlombok:lombok:${version}"
}

@s.section> <@s.section title="Android Studio">

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:

  • Go to File > Settings > Plugins
  • Click on Browse repositories...
  • Search for Lombok Plugin
  • Click on Install plugin
  • Restart Android Studio

Modify your application's dependencies block:

dependencies {
	compileOnly 'org.projectlombok:lombok:${version}'
	annotationProcessor 'org.projectlombok:lombok:${version}'
}

@s.section> <@s.section title="Eclipse">

In eclipse, create a 'lightweight' lombok jar that contains only the annotations by running:

java -jar lombok.jar publicApi

Then, 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.

@s.section> <@s.section title="Ant">

  • Find build.xml in ${r"${ANDROID_SDK_ROOT}"}/tools/ant/build.xml and copy the -compile target into the paste buffer.
  • Copy this to the build.xml of your own project, right before the <import file="${r"${sdk.dir}"}/tools/ant/build.xml"> line.
  • Create a compile-libs directory in your own project and copy the complete lombok.jar to it.
  • Now modify the <classpath> entry inside the <javac> task in the -compile target you just copied:
    add <fileset dir="compile-libs" includes="*.jar" /> to it.

@s.section> @s.scaffold>