aboutsummaryrefslogtreecommitdiff
path: root/website/setup/android.html
blob: 9aeddfc5c2fd4d70090485e72eff482dd1b790a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!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>
			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:
				<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>&lt;import file="${sdk.dir}/tools/ant/build.xml"&gt;</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>&lt;classpath&gt;</code> entry inside the <code>&lt;javac&gt;</code> task in the <code>-compile</code> target you just copied:<br />
						add <code>&lt;fileset dir="compile-libs" includes="*.jar" /&gt;</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>
		<div class="endBar">
		</div>
		<div class="footer">
			<a href="../credits.html" class="creditsLink">credits</a> | Copyright &copy; 2009-2013 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>