blob: 28d8bdd4a80930d7a9e7339bbdc21fac75d17ae8 [file] [log] [blame]
Dirk Dougherty7b229ef2010-03-26 17:32:26 -07001page.title=SDK Tools
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07002@jd:body
3
Dirk Dougherty7b229ef2010-03-26 17:32:26 -07004<p>SDK Tools is a downloadable component for the Android SDK. It includes the
5complete set of development and debugging tools for the Android SDK. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -07006
Dirk Dougherty7b229ef2010-03-26 17:32:26 -07007<p>If you are new to the Android SDK, the <a
8href="{@docRoot}sdk/index.html">SDK starter package</a> installs the
9latest revision of the SDK Tools in the <code>&lt;sdk&gt;/tools</code> directory.</p>
Dirk Doughertybf15ce62009-10-23 19:17:12 -070010
Dirk Dougherty5c2a5022009-12-17 16:59:46 -080011<p>If you are already using the SDK and you want to update to the latest version
12of the SDK Tools, use the <em>Android SDK and AVD Manager</em> to get the
13update, rather than downloading a new SDK starter package. For more information
14about how to update, see <a
15href="{@docRoot}sdk/adding-components.html#UpdatingComponents">Updating SDK
16Components</a>. </p>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -070017
Robert Lyedc2aac2011-01-14 16:25:09 -080018
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070019<h2 id="notes">Revisions</h2>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -080020
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070021<p>The sections below provide notes about successive releases of
22the SDK Tools, as denoted by revision number. To determine what revision of the SDK
23Tools you are using, refer to the "Installed Packages" listing in the Android SDK
24and AVD Manager. </p>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -080025
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070026<script type="text/javascript">
27function toggleDiv(link) {
28 var toggleable = $(link).parent();
29 if (toggleable.hasClass("closed")) {
30 //$(".toggleme", toggleable).slideDown("fast");
31 toggleable.removeClass("closed");
32 toggleable.addClass("open");
33 $(".toggle-img", toggleable).attr("title", "hide").attr("src", (toRoot + "assets/images/triangle-opened.png"));
34 } else {
35 //$(".toggleme", toggleable).slideUp("fast");
36 toggleable.removeClass("open");
37 toggleable.addClass("closed");
38 $(".toggle-img", toggleable).attr("title", "show").attr("src", (toRoot + "assets/images/triangle-closed.png"));
39 }
40 return false;
41}
42</script>
43<style>
44.toggleable {
45padding: .25em 1em;
46}
47.toggleme {
48 padding: 1em 1em 0 2em;
49 line-height:1em;
50}
51.toggleable a {
52 text-decoration:none;
53}
Dirk Dougherty0d1b0812010-04-07 17:05:16 -070054.toggleme a {
55 text-decoration:underline;
56}
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070057.toggleable.closed .toggleme {
58 display:none;
59}
60#jd-content .toggle-img {
61 margin:0;
62}
63</style>
Dirk Dougherty0d1b0812010-04-07 17:05:16 -070064
Dirk Dougherty7b229ef2010-03-26 17:32:26 -070065<div class="toggleable opened">
66 <a href="#" onclick="return toggleDiv(this)">
67 <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px" />
Robert Lyccea5d22011-02-11 14:59:36 -080068SDK Tools, Revision 10</a> <em>(February 2011)</em>
69 <div class="toggleme">
70 <dl>
71<dt>Dependencies:</dt>
72<dd>
73<p>If you are developing in Eclipse with ADT, note that the SDK Tools r10 is
74designed for use with ADT 10.0.0 and later. After installing SDK Tools r10, we
75highly recommend updating your ADT Plugin to 10.0.0.</p>
76
77<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
78Ant</a> 1.8 or later.</p>
79
80<dt>General notes:</dt>
81<dd>
82 <ul>
83 <li>The tools now automatically generate Java Programming Language source files (in the <code>gen</code> directory) and
84 bytecode (in the <code>res/raw</code> directory) from your native <code>.rs</code> files</li>
85 </ul>
86</dd>
87</dl>
88</div>
89</div>
90
91
92
93<div class="toggleable closed">
94 <a href="#" onclick="return toggleDiv(this)">
95 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Robert Lyedc2aac2011-01-14 16:25:09 -080096SDK Tools, Revision 9</a> <em>(January 2011)</em>
97 <div class="toggleme">
98 <dl>
99<dt>Dependencies:</dt>
100<dd>
101<p>If you are developing in Eclipse with ADT, note that the SDK Tools r9 is
102designed for use with ADT 9.0.0 and later. After installing SDK Tools r9, we
103highly recommend updating your ADT Plugin to 9.0.0.</p>
104
105<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
106Ant</a> 1.8 or later.</p>
107
108<dt>Upgrading to SDK Tools r9:</dt>
109<dd>
110<p>If you are upgrading to SDK Tools r9 from SDK Tools r7 or earlier, the default installed location
111for the <code>adb</code> tool has changed from <code>&lt;<em>SDK</em>&gt;/tools/adb</code> to
112<code>&lt;<em>SDK</em>&gt;/platform-tools/adb</code>. This means that you should
113add the new location to your PATH and modify any custom build scripts to
114reference the new location. Copying the <code>adb</code> executable from the new
115location to the old is not recommended, since subsequent updates to the SDK
116Tools will delete the file.</p>
117</dd>
118
119<dt>General notes:</dt>
120<dd>
121 <ul>
122 <li>The default ProGuard configuration, <code>proguard.cfg</code>, now ignores the following classes:
123 <ul>
124 <li>classes that extend {@link android.preference.Preference}</li>
125 <li>classes that extend {@link android.app.backup.BackupAgentHelper}</li>
126 </ul>
127 </li>
128 <li>Ant lib rules now allow you to override <code>java.encoding</code>, <code>java.source</code>,
129 and <code>java.target</code> properties.</li>
130 <li>The default encoding for the <code>javac</code> Ant task is now UTF-8.</li>
131 <li>The LogCat view in DDMS now properly displays UTF-8 characters.</li>
132 <li>The SDK Manager is more reliable on Windows. For details on the improvements, see the
133 <a href="http://tools.android.com/recent/sdkmanagerfixes">Android Tools Project Site</a>. </li>
Scott Mainf9af3012011-01-27 11:26:29 -0800134 <li>Early look at the new snapshot feature: To improve startup time for the emulator, you can
135enable snapshots for the system state. The emulator will then restore to the state when it last
136closed almost instantly. <strong>Note:</strong> The snapshot feature is still under active
137development and might not always perform as expected.</li>
Robert Lyedc2aac2011-01-14 16:25:09 -0800138 <li>Fixed the missing JAR file error that prevented <code>draw9patch</code> from running.</li>
139 <li>Fixed the Windows launch scripts <code>hierarchyviewer</code> and <code>ddms</code> to support
140 the new location of <code>adb</code>.</li>
Scott Main04f04b22011-01-21 19:11:23 -0800141 <li>Known issues with emulator performance: Because the Android emulator must simulate the ARM
142instruction set architecture on your computer, emulator performance is slow. We're working hard to
143resolve the performance issues and it will improve in future releases.</li>
Robert Lyedc2aac2011-01-14 16:25:09 -0800144 </ul>
145</dd>
146</dl>
147</div>
148</div>
149
150<div class="toggleable closed">
151 <a href="#" onclick="return toggleDiv(this)">
152 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty9f7580d2010-10-26 09:29:03 -0700153SDK Tools, Revision 8</a> <em>(December 2010)</em>
154 <div class="toggleme">
155
156<dl>
157<dt>Dependencies:</dt>
158<dd>
159<p>If you are developing in Eclipse with ADT, note that SDK Tools r8 is
160designed for use with ADT 8.0.0 and later. After installing SDK Tools r8, we
161highly recommend updating your ADT Plugin to 8.0.0.</p>
162
Scott Main92b03082010-12-14 17:55:27 -0800163<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
164Ant</a> 1.8 or later.</p>
165
Dirk Dougherty9f7580d2010-10-26 09:29:03 -0700166<p>Also note that SDK Tools r8 requires a new SDK component called
167<em>Platform-tools</em>. The new Platform-tools component lets all SDK platforms
168(Android 2.1, Android 2.2, and so on) use the same (latest) version of build
169tools such as <code>adb</code>, <code>aapt</code>, <code>aidl</code>, and
170<code>dx</code>. To download the Platform-tools component, use the Android SDK
171Manager, as described in <a href="adding-components.html">Adding SDK
172Components</a></p>
173
174<dt>Upgrading from SDK Tools r7:</dt>
175<dd>
176<p>If you are upgrading to SDK Tools r8 from an earlier version, note that the
177the default installed location for the <code>adb</code> tool has changed from
178<code>&lt;<em>SDK</em>&gt;/tools/adb</code> to
179<code>&lt;<em>SDK</em>&gt;/platform-tools/adb</code>. This means that you should
180add the new location to your PATH and modify any custom build scripts to
181reference the new location. Copying the <code>adb</code> executable from the new
182location to the old is not recommended, since subsequent updates to the SDK
183Tools will delete the file.</p>
184</dd>
185
186<dt>General notes:</dt>
187<dd>
188<ul>
189<li>All SDK platforms now support Library Projects.</li>
190<li>Support for a true debug build. Developers no longer need to add the
191<code>android:debuggable</code> attribute to the
192<code>&lt;application&gt;</code> tag in the manifest &mdash; the build tools add
193the attribute automatically. In Eclipse/ADT, all incremental builds are assumed
194to be debug builds, so the tools insert <code>android:debuggable="true"</code>.
195When exporting a signed release build, the tools do not add the attribute. In
196Ant, a <code>ant debug</code> command automatically inserts the
197<code>android:debuggable="true"</code> attribute, while <code>ant release</code>
198does not. If <code>android:debuggable="true"</code> is manually set, then
199<code>ant release</code> will actually do a debug build, rather than a release
200build.</li>
201<li>Automatic ProGuard support in release builds. Developers generate a ProGuard
202configuration file using the <code>android</code> tool &mdash; the build tools
203then automatically run ProGuard against the project sources during the build.
204For more information, see the <a
205href="{@docRoot}guide/developing/tools/proguard.html">ProGuard</a>
206documentation. </li>
207<li>New overridable Ant javac properties: <code>java.encoding</code>,
208<code>java.source</code>, and <code>java.target</code> (default values are
209"ascii", "1.5", and "1.5", respectively).</li>
210<li>New UI for the HierarchyViewer tool.</li>
211</ul>
212</dd>
213</dl>
214 </div>
215</div>
216
217<div class="toggleable closed">
218 <a href="#" onclick="return toggleDiv(this)">
219 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty022171b2010-07-30 19:24:17 -0700220SDK Tools, Revision 7</a> <em>(September 2010)</em>
221 <div class="toggleme">
222
223<dl>
224<dt>Dependencies:</dt>
225<dd>
226<p>If you are developing in Eclipse with ADT, note that SDK Tools r7 is
227designed for use with ADT 0.9.8 and later. After installing SDK Tools r7, we
228highly recommend updating your ADT Plugin to 0.9.8.</p>
229</dd>
230
231<dt>General notes:</dt>
232<dd>
233<ul>
234<li>Added support for library projects that depend on other library projects.</li>
235<li>Adds support for aidl files in library projects.</li>
236<li>Adds support for extension targets in Ant build to perform tasks between the
237normal tasks: <code>-pre-build</code>, <code>-pre-compile</code>, and
238<code>-post-compile</code>.</li>
239<li>Adds support for "headless" SDK update. See <code>android -h update sdk</code>
240for more information.</li>
241<li>Fixes location control in DDMS to work in any locale not using '.' as a
242decimal point.</li>
243</li>
244</ul>
245</dd>
246</dl>
247 </div>
248</div>
249
250<div class="toggleable closed">
251 <a href="#" onclick="return toggleDiv(this)">
252 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700253SDK Tools, Revision 6</a> <em>(May 2010)</em>
254 <div class="toggleme">
255
256<dl>
257<dt>Dependencies:</dt>
258<dd>
259<p>If you are developing in Eclipse with ADT, note that SDK Tools r6 is
260designed for use with ADT 0.9.7 and later. After installing SDK Tools r6, we
261highly recommend updating your ADT Plugin to 0.9.7.</p>
262</dd>
263
264<dt>Library projects:</dt>
265<dd>
266<p>The SDK Tools now support the use of <em>library projects</em> during
267development, a capability that lets you store shared Android application
268code and resources in a separate development project. You can then reference the
269library project from other Android projects and, at build time, the tools
270compile the shared code and resources as part of the dependent applications.
271More information about this feature is available in the <a
Robert Lyc74a69a82011-01-04 22:48:02 -0800272href="{@docRoot}guide/developing/projects/index.html#LibraryProjects">Creating and Managing Projects</a> document.</p>
273<p>If you are developing in Eclipse, <a href="eclipse-adt.html">ADT</a>
Dirk Dougherty0d1b0812010-04-07 17:05:16 -0700274provides the equivalent library project support.</p>
275</dd>
276</dl>
277 </div>
278</div>
279
280<div class="toggleable closed">
281 <a href="#" onclick="return toggleDiv(this)">
Dirk Dougherty74a74d32010-09-09 18:40:13 -0700282 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700283SDK Tools, Revision 5</a> <em>(March 2010)</em>
284 <div class="toggleme">
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800285
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700286<dl>
287<dt>Dependencies:</dt>
288<dd><ul>
289<li>If you are developing in Eclipse with ADT, note that SDK Tools r5 is
290designed for use with ADT 0.9.6 and later. After installing SDK Tools r5, we
291highly recommend updating your ADT Plugin to 0.9.6.</li>
292<li>For Mac OS platforms, OS X 10.4.x (Tiger) is no longer
293officially supported. </li>
294</ul>
295</dd>
296
297<dt>SDK and AVD Manager:</dt>
298<dd>
299<ul>
300<li>Fixes SSL download for the standalone version of the SDK Updater.</li>
301<li>Fixes issue with 64-bit JVM on Windows.</li>
302<li>Adds support for platform samples components.</li>
303<li>Improves support for dependency between components.</li>
304<li>AVDs now sorted by API level.</li>
305<li>The AVD creation dialog now enforces a minimum SD card size of 9MB.</li>
306<li>Prevents deletion of running AVDs.</li>
307<li>Settings are now automatically saved, no need to click "Apply".</li>
308</ul>
309</dd>
310
311<dt>Emulator:</dt>
312<dd>
313<ul>
314<li>Emulator now requires SD card to be 9MB or more.</li>
315</ul>
316</dd>
317
318<dt>Layoutopt:</dt>
319<dd>
320<ul>
321<li>Fixes <code>layoutopt.bat</code> to execute correctly on Windows.</li>
322</ul>
323</dd>
324</dl>
325 </div>
326</div>
327
328<div class="toggleable closed">
329 <a href="#" onclick="return toggleDiv(this)">
330 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
331SDK Tools, Revision 4</a> <em>(December 2009)</em>
332 <div class="toggleme">
333
334<dl>
335<dt>Dependencies:</dt>
336<dd><p>SDK Tools r4 is compatible with ADT 0.9.5 and later, but not
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800337compatible with earlier versions. If you are developing in Eclipse with ADT, you
338<strong>must</strong> update your ADT plugin to version 0.9.5 or higher if you
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700339install SDK Tools r4 in your SDK. </p></dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800340
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700341<dt>General notes:</dt>
342<dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800343<ul>
344<li>Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a
345compatibility issue between GTK and SWT.</li>
346</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700347</dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800348
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700349<dt>Android SDK and AVD Manager:</dt>
350<dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800351<ul>
352<li>AVD Launch dialog now shows scale value.</li>
353<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no
354skin name specified.</li>
355<li>Fixes XML validation issue in on older Java versions.</li>
356<li>No longer forces the use of Java 1.5 on Mac OS X.</li>
357</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700358</dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800359
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700360<dt>Emulator:</dt>
361<dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800362<ul>
363<li>No longer limits the size of the system partition.</li>
364</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700365</dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800366
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700367<dt>Ant build tools:</dt>
368<dd>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800369<ul>
370<li>.apk packaging now properly ignores vi swap files as well as hidden files.</li>
371</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700372</dd>
373</dl>
374 </div>
375</div>
Dirk Doughertybca9f1b2009-11-18 23:06:16 -0800376
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700377<div class="toggleable closed">
378 <a href="#" onclick="return toggleDiv(this)">
379 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" />
380SDK Tools, Revision 3</a> <em>(October 2009)</em>
381 <div class="toggleme">
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700382
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700383<dl>
384<dt>Dependencies:</dt>
385<dd><p>SDK Tools r3 is compatible with ADT 0.9.4 and later, but not
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700386compatible with earlier versions. If you are developing in Eclipse with ADT, you
387<strong>must</strong> update your ADT plugin to version 0.9.4 or higher if you
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700388install SDK Tools r3 in your SDK.</p>
389</dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700390
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700391<dt>Android tool:</dt>
392<dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700393<ul>
394<li>Adds new <code>android create test-project</code> and <code>android update
395test-project</code> commands to allow for greater flexibility in the location of the
396main and test projects.</li>
397</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700398</dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700399
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700400<dt>DDMS:</dt>
401<dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700402<ul>
403<li>Adds a button to dump HPROF file for running appplications (app must be able
404to write to the sdcard).</li>
405<li>Button to start/stop profiling of a running application (app must be able to
406write to the sdcard). Upon stop, Traceview will automatically be launched to
407display the trace.</li>
408<li>Fixed DDMS, Traceview, and the AVD Mananger/SDK Updater to run on Mac OS X
40910.6.</li>
410<li>Fixed screenshot support for devices running 32-bit framebuffer.</li>
411</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700412</dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700413
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700414<dt>Android SDK and AVD Manager:</dt>
415<dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700416<ul>
417<li>Provides a new UI that lets you set options for controlling
418the emulator skin, screen size/density, and scale factor used when launching
419an AVD.</li>
420<li>Provides improved AVD creation UI, which lets you customize the hardware
421properties of your AVDs.</li>
422<li>Now enforces dependencies between platforms and tools components, and
423between SDK add-ons and platforms.</li>
424</ul>
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700425</dd>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700426
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700427<dt>Layoutopt, a new tool for optimizing layouts:</dt>
Dirk Doughertyee58d1b2009-10-16 15:25:15 -0700428
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700429<dd><p>The SDK Tools r3 package includes <code>layoutopt</code>, a new command-line
Dirk Doughertybf15ce62009-10-23 19:17:12 -0700430tool that helps you optimize your layout hierarchies. When run against your
431layout files, the tool analyzes their hierarchies and notifies you of
432inefficiencies and other potential issues. The tool also provides simple
433solutions for the issues it finds. For usage, see <a
Dirk Dougherty7b229ef2010-03-26 17:32:26 -0700434href="/guide/developing/tools/layoutopt.html">layoutopt</a>.</p>
435</dd>
436</dl>
437 </div>
438</div>