mirror of
https://github.com/tiennm99/lombok.git
synced 2026-05-27 14:22:19 +00:00
132 lines
7.1 KiB
HTML
132 lines
7.1 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<script src="../logi/jQuery-all.js" type="text/javascript"></script>
|
|
<link rel="stylesheet" type="text/css" href="../logi/reset.css" />
|
|
<link rel="stylesheet" type="text/css" href="../index.css" />
|
|
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
|
|
<meta name="description" content="Spice up your java" />
|
|
<title>Project Lombok</title>
|
|
<!--[if lt IE 7]><script type="text/javascript" src="../logi/iepngfix_tilebg.js"></script><![endif]-->
|
|
</head><body>
|
|
<a id="forkMe" href="http://github.com/rzwitserloot/lombok"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
|
|
<div class="meat">
|
|
<h1><a href="/">Project Lombok</a> - android instructions</h1>
|
|
<div id="buttonBar" class="buttonBar">
|
|
<a class="button" href="../features/index.html">
|
|
<img src="../icon_overview.png" />
|
|
<span>Feature Overview</span>
|
|
</a>
|
|
<a class="button" href="http://groups.google.com/group/project-lombok">
|
|
<img src="../icon_discussion.png" />
|
|
<span>Discuss / Help</span>
|
|
</a>
|
|
<a class="button" href="http://wiki.github.com/rzwitserloot/lombok/contributing">
|
|
<img src="../icon_contribute.png" />
|
|
<span>Contribute</span>
|
|
</a>
|
|
<a class="button" href="http://code.google.com/p/projectlombok/issues/list">
|
|
<img src="../icon_bugs.png" />
|
|
<span>Report an issue</span>
|
|
</a>
|
|
<div class="downloadContainer">
|
|
<a class="downloadLink" id="downloadLink" href="../download.html">
|
|
<img src="../icon_download.png" />
|
|
<span>Download!</span>
|
|
</a>
|
|
<div class="versionInfo">
|
|
Version: @VERSION@ | <a href="../changelog.html">changelog</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="downloadHelp">
|
|
<p>
|
|
Android development with lombok is possible. Lombok should be a compile-time only dependency, as otherwise
|
|
the entirety of lombok will end up in your DEX files, wasting precious space on android devices. Also, errors will occur due
|
|
to the native libraries present in lombok.jar itself. Unfortunately, android does not (yet) understand the concept of a
|
|
compile-time-only dependency, so you need to mess with your build files to make it work.
|
|
</p><p>
|
|
Android also does not have a complete JRE library stack; in particular, it does not have the <code>@java.beans.ConstructorProperties</code> annotation, therefore you have to stop lombok from generating these:
|
|
<ul>
|
|
<li>The <code>suppressConstructorProperties</code> property can be set to <code>false</code> when using <a href="/features/Constructor.html">@XArgsConstructor Annotations</a>.</li>
|
|
<li>Starting with Lombok <code>>= 1.14.0</code> you can instead a <code>lombok.config</code> file to the root of your project to disable <code>ConstructorProperties</code> project wide. Add the following line to <code>lombok.config</code>:<br />
|
|
<pre>lombok.anyConstructor.suppressConstructorProperties = true</pre><br />
|
|
See the <a href="/features/configuration.html">configuration</a> documentation for more information on how to set up your project with a lombok config file.
|
|
</ul>
|
|
</p><p>
|
|
The instructions listed below are excerpts from <a href="https://github.com/excilys/androidannotations/wiki/Cookbook">The
|
|
AndroidAnnotations project cookbook</a>. You may wish to refer to that documentation for complete instructions; lombok is just
|
|
the equivalent to <code>androidannotations-VERSION.jar</code>; there is no <code>-api</code> aspect.
|
|
</p>
|
|
<h3>Eclipse</h3>
|
|
<div>
|
|
In eclipse, create a 'lightweight' lombok jar that contains only the annotations by running:<br /><br />
|
|
<pre>
|
|
java -jar lombok.jar publicApi</pre>
|
|
Then, add the <code>lombok-api.jar</code> file created by running this command
|
|
to your android project instead of the complete <code>lombok.jar</code>, and,
|
|
as usual, install lombok into eclipse by double-clicking <code>lombok.jar</code>.
|
|
</div>
|
|
<h3>Ant</h3>
|
|
<div>
|
|
<ul>
|
|
<li>Find <code>build.xml</code> in <code>${ANDROID_SDK_ROOT}/tools/ant/build.xml</code> and copy the <code>-compile</code> target into the paste buffer.
|
|
<li>Copy this to the <code>build.xml</code> of your own project, right before the <code><import file="${sdk.dir}/tools/ant/build.xml"></code> line.
|
|
<li>Create a <code>compile-libs</code> directory in your own project and copy the complete <code>lombok.jar</code> to it.
|
|
<li>Now modify the <code><classpath></code> entry inside the <code><javac></code> task in the <code>-compile</code> target you just copied:<br />
|
|
add <code><fileset dir="compile-libs" includes="*.jar" /></code> to it.
|
|
</ul>
|
|
</div>
|
|
<h3>Maven</h3>
|
|
<div>
|
|
You should be able to just follow the normal <a href="../mavenrepo/index.html">lombok with maven instructions</a>.<br />
|
|
Note that if you use android, eclipse, and maven together you may have to replace <code>lombok.jar</code> in your eclipse android project's build path
|
|
(which you can modify in that project's properties page) with <code>lombok-api.jar</code>, as produced in the procedure explained for <em>Eclipse</em>,
|
|
above.
|
|
</div>
|
|
<h3>Gradle</h3>
|
|
<div>
|
|
<ul>
|
|
<li>Make sure that the version of your android plugin is <code>>= 0.4.3</code></li>
|
|
<li>Add Lombok to your application's <code>dependencies</code> block:<br /><br />
|
|
<pre>
|
|
provided "org.projectlombok:lombok:1.12.6"
|
|
</pre>
|
|
</li>
|
|
<li>When using <a href="https://bitbucket.org/hvisser/android-apt">android-apt</a>, you also have to specify Lombok as an annotation processor (with the <code>apt</code> directive) in the <code>dependencies</code> block:<br /><br />
|
|
<pre>
|
|
provided "org.projectlombok:lombok:1.12.6"
|
|
apt "org.projectlombok:lombok:1.12.6"
|
|
</pre>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<h3>Android Studio</h3>
|
|
<div>
|
|
Follow the previous instructions (<em>Gradle</em>). In addition to setting up your gradle project correctly, you need to add the <a href="http://plugins.jetbrains.com/plugin/6317">Lombok IntelliJ plugin</a> to add lombok support to Android Studio:
|
|
<ul>
|
|
<li>Go to <code>File > Settings > Plugins</code></li>
|
|
<li>Click on <code>Browse repositories...</code></li>
|
|
<li>Search for <code>Lombok Plugin</code></li>
|
|
<li>Click on <code>Install plugin</code></li>
|
|
<li>Restart Android Studio</li>
|
|
</ul>
|
|
</div>
|
|
<div class="endBar">
|
|
</div>
|
|
<div class="footer">
|
|
<a href="../credits.html" class="creditsLink">credits</a> | Copyright © 2009-2015 The Project Lombok Authors, licensed under the <a href="http://www.opensource.org/licenses/mit-license.php">MIT license</a>.
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
|
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
|
</script>
|
|
<script type="text/javascript">
|
|
try {
|
|
var pageTracker = _gat._getTracker("UA-9884254-1");
|
|
pageTracker._trackPageview();
|
|
} catch(err) {}
|
|
</script>
|
|
</body></html>
|