1page.title=SDK Tools 2@jd:body 3 4<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> 6 7<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><sdk>/tools</code> directory.</p> 10 11<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> 17 18 19<h2 id="notes">Revisions</h2> 20 21<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> 25 26<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} 54.toggleme a { 55 text-decoration:underline; 56} 57.toggleable.closed .toggleme { 58 display:none; 59} 60#jd-content .toggle-img { 61 margin:0; 62} 63</style> 64 65<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" /> 68SDK Tools, Revision 9</a> <em>(January 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 r9 is 74designed for use with ADT 9.0.0 and later. After installing SDK Tools r9, we 75highly recommend updating your ADT Plugin to 9.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>Upgrading to SDK Tools r9:</dt> 81<dd> 82<p>If you are upgrading to SDK Tools r9 from SDK Tools r7 or earlier, the default installed location 83for the <code>adb</code> tool has changed from <code><<em>SDK</em>>/tools/adb</code> to 84<code><<em>SDK</em>>/platform-tools/adb</code>. This means that you should 85add the new location to your PATH and modify any custom build scripts to 86reference the new location. Copying the <code>adb</code> executable from the new 87location to the old is not recommended, since subsequent updates to the SDK 88Tools will delete the file.</p> 89</dd> 90 91<dt>General notes:</dt> 92<dd> 93 <ul> 94 <li>The default ProGuard configuration, <code>proguard.cfg</code>, now ignores the following classes: 95 <ul> 96 <li>classes that extend {@link android.preference.Preference}</li> 97 <li>classes that extend {@link android.app.backup.BackupAgentHelper}</li> 98 </ul> 99 </li> 100 <li>Ant lib rules now allow you to override <code>java.encoding</code>, <code>java.source</code>, 101 and <code>java.target</code> properties.</li> 102 <li>The default encoding for the <code>javac</code> Ant task is now UTF-8.</li> 103 <li>The LogCat view in DDMS now properly displays UTF-8 characters.</li> 104 <li>The SDK Manager is more reliable on Windows. For details on the improvements, see the 105 <a href="http://tools.android.com/recent/sdkmanagerfixes">Android Tools Project Site</a>. </li> 106 <li>Early look at the new snapshot feature: To improve startup time for the emulator, you can 107enable snapshots for the system state. The emulator will then restore to the state when it last 108closed almost instantly. <strong>Note:</strong> The snapshot feature is still under active 109development and might not always perform as expected.</li> 110 <li>Fixed the missing JAR file error that prevented <code>draw9patch</code> from running.</li> 111 <li>Fixed the Windows launch scripts <code>hierarchyviewer</code> and <code>ddms</code> to support 112 the new location of <code>adb</code>.</li> 113 <li>Known issues with emulator performance: Because the Android emulator must simulate the ARM 114instruction set architecture on your computer, emulator performance is slow. We're working hard to 115resolve the performance issues and it will improve in future releases.</li> 116 </ul> 117</dd> 118</dl> 119</div> 120</div> 121 122<div class="toggleable closed"> 123 <a href="#" onclick="return toggleDiv(this)"> 124 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 125SDK Tools, Revision 8</a> <em>(December 2010)</em> 126 <div class="toggleme"> 127 128<dl> 129<dt>Dependencies:</dt> 130<dd> 131<p>If you are developing in Eclipse with ADT, note that SDK Tools r8 is 132designed for use with ADT 8.0.0 and later. After installing SDK Tools r8, we 133highly recommend updating your ADT Plugin to 8.0.0.</p> 134 135<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache 136Ant</a> 1.8 or later.</p> 137 138<p>Also note that SDK Tools r8 requires a new SDK component called 139<em>Platform-tools</em>. The new Platform-tools component lets all SDK platforms 140(Android 2.1, Android 2.2, and so on) use the same (latest) version of build 141tools such as <code>adb</code>, <code>aapt</code>, <code>aidl</code>, and 142<code>dx</code>. To download the Platform-tools component, use the Android SDK 143Manager, as described in <a href="adding-components.html">Adding SDK 144Components</a></p> 145 146<dt>Upgrading from SDK Tools r7:</dt> 147<dd> 148<p>If you are upgrading to SDK Tools r8 from an earlier version, note that the 149the default installed location for the <code>adb</code> tool has changed from 150<code><<em>SDK</em>>/tools/adb</code> to 151<code><<em>SDK</em>>/platform-tools/adb</code>. This means that you should 152add the new location to your PATH and modify any custom build scripts to 153reference the new location. Copying the <code>adb</code> executable from the new 154location to the old is not recommended, since subsequent updates to the SDK 155Tools will delete the file.</p> 156</dd> 157 158<dt>General notes:</dt> 159<dd> 160<ul> 161<li>All SDK platforms now support Library Projects.</li> 162<li>Support for a true debug build. Developers no longer need to add the 163<code>android:debuggable</code> attribute to the 164<code><application></code> tag in the manifest — the build tools add 165the attribute automatically. In Eclipse/ADT, all incremental builds are assumed 166to be debug builds, so the tools insert <code>android:debuggable="true"</code>. 167When exporting a signed release build, the tools do not add the attribute. In 168Ant, a <code>ant debug</code> command automatically inserts the 169<code>android:debuggable="true"</code> attribute, while <code>ant release</code> 170does not. If <code>android:debuggable="true"</code> is manually set, then 171<code>ant release</code> will actually do a debug build, rather than a release 172build.</li> 173<li>Automatic ProGuard support in release builds. Developers generate a ProGuard 174configuration file using the <code>android</code> tool — the build tools 175then automatically run ProGuard against the project sources during the build. 176For more information, see the <a 177href="{@docRoot}guide/developing/tools/proguard.html">ProGuard</a> 178documentation. </li> 179<li>New overridable Ant javac properties: <code>java.encoding</code>, 180<code>java.source</code>, and <code>java.target</code> (default values are 181"ascii", "1.5", and "1.5", respectively).</li> 182<li>New UI for the HierarchyViewer tool.</li> 183</ul> 184</dd> 185</dl> 186 </div> 187</div> 188 189<div class="toggleable closed"> 190 <a href="#" onclick="return toggleDiv(this)"> 191 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 192SDK Tools, Revision 7</a> <em>(September 2010)</em> 193 <div class="toggleme"> 194 195<dl> 196<dt>Dependencies:</dt> 197<dd> 198<p>If you are developing in Eclipse with ADT, note that SDK Tools r7 is 199designed for use with ADT 0.9.8 and later. After installing SDK Tools r7, we 200highly recommend updating your ADT Plugin to 0.9.8.</p> 201</dd> 202 203<dt>General notes:</dt> 204<dd> 205<ul> 206<li>Added support for library projects that depend on other library projects.</li> 207<li>Adds support for aidl files in library projects.</li> 208<li>Adds support for extension targets in Ant build to perform tasks between the 209normal tasks: <code>-pre-build</code>, <code>-pre-compile</code>, and 210<code>-post-compile</code>.</li> 211<li>Adds support for "headless" SDK update. See <code>android -h update sdk</code> 212for more information.</li> 213<li>Fixes location control in DDMS to work in any locale not using '.' as a 214decimal point.</li> 215</li> 216</ul> 217</dd> 218</dl> 219 </div> 220</div> 221 222<div class="toggleable closed"> 223 <a href="#" onclick="return toggleDiv(this)"> 224 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 225SDK Tools, Revision 6</a> <em>(May 2010)</em> 226 <div class="toggleme"> 227 228<dl> 229<dt>Dependencies:</dt> 230<dd> 231<p>If you are developing in Eclipse with ADT, note that SDK Tools r6 is 232designed for use with ADT 0.9.7 and later. After installing SDK Tools r6, we 233highly recommend updating your ADT Plugin to 0.9.7.</p> 234</dd> 235 236<dt>Library projects:</dt> 237<dd> 238<p>The SDK Tools now support the use of <em>library projects</em> during 239development, a capability that lets you store shared Android application 240code and resources in a separate development project. You can then reference the 241library project from other Android projects and, at build time, the tools 242compile the shared code and resources as part of the dependent applications. 243More information about this feature is available in the <a 244href="{@docRoot}guide/developing/other-ide.html#libraryProject">Developing 245in Other IDEs</a> document.</p> 246<p>If you are developing in Eclipse, <a href="eclipse-adt.html">ADT 0.9.7</a> 247provides the equivalent library project support.</p> 248</dd> 249</dl> 250 </div> 251</div> 252 253<div class="toggleable closed"> 254 <a href="#" onclick="return toggleDiv(this)"> 255 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 256SDK Tools, Revision 5</a> <em>(March 2010)</em> 257 <div class="toggleme"> 258 259<dl> 260<dt>Dependencies:</dt> 261<dd><ul> 262<li>If you are developing in Eclipse with ADT, note that SDK Tools r5 is 263designed for use with ADT 0.9.6 and later. After installing SDK Tools r5, we 264highly recommend updating your ADT Plugin to 0.9.6.</li> 265<li>For Mac OS platforms, OS X 10.4.x (Tiger) is no longer 266officially supported. </li> 267</ul> 268</dd> 269 270<dt>SDK and AVD Manager:</dt> 271<dd> 272<ul> 273<li>Fixes SSL download for the standalone version of the SDK Updater.</li> 274<li>Fixes issue with 64-bit JVM on Windows.</li> 275<li>Adds support for platform samples components.</li> 276<li>Improves support for dependency between components.</li> 277<li>AVDs now sorted by API level.</li> 278<li>The AVD creation dialog now enforces a minimum SD card size of 9MB.</li> 279<li>Prevents deletion of running AVDs.</li> 280<li>Settings are now automatically saved, no need to click "Apply".</li> 281</ul> 282</dd> 283 284<dt>Emulator:</dt> 285<dd> 286<ul> 287<li>Emulator now requires SD card to be 9MB or more.</li> 288</ul> 289</dd> 290 291<dt>Layoutopt:</dt> 292<dd> 293<ul> 294<li>Fixes <code>layoutopt.bat</code> to execute correctly on Windows.</li> 295</ul> 296</dd> 297</dl> 298 </div> 299</div> 300 301<div class="toggleable closed"> 302 <a href="#" onclick="return toggleDiv(this)"> 303 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 304SDK Tools, Revision 4</a> <em>(December 2009)</em> 305 <div class="toggleme"> 306 307<dl> 308<dt>Dependencies:</dt> 309<dd><p>SDK Tools r4 is compatible with ADT 0.9.5 and later, but not 310compatible with earlier versions. If you are developing in Eclipse with ADT, you 311<strong>must</strong> update your ADT plugin to version 0.9.5 or higher if you 312install SDK Tools r4 in your SDK. </p></dd> 313 314<dt>General notes:</dt> 315<dd> 316<ul> 317<li>Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a 318compatibility issue between GTK and SWT.</li> 319</ul> 320</dd> 321 322<dt>Android SDK and AVD Manager:</dt> 323<dd> 324<ul> 325<li>AVD Launch dialog now shows scale value.</li> 326<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no 327skin name specified.</li> 328<li>Fixes XML validation issue in on older Java versions.</li> 329<li>No longer forces the use of Java 1.5 on Mac OS X.</li> 330</ul> 331</dd> 332 333<dt>Emulator:</dt> 334<dd> 335<ul> 336<li>No longer limits the size of the system partition.</li> 337</ul> 338</dd> 339 340<dt>Ant build tools:</dt> 341<dd> 342<ul> 343<li>.apk packaging now properly ignores vi swap files as well as hidden files.</li> 344</ul> 345</dd> 346</dl> 347 </div> 348</div> 349 350<div class="toggleable closed"> 351 <a href="#" onclick="return toggleDiv(this)"> 352 <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px" /> 353SDK Tools, Revision 3</a> <em>(October 2009)</em> 354 <div class="toggleme"> 355 356<dl> 357<dt>Dependencies:</dt> 358<dd><p>SDK Tools r3 is compatible with ADT 0.9.4 and later, but not 359compatible with earlier versions. If you are developing in Eclipse with ADT, you 360<strong>must</strong> update your ADT plugin to version 0.9.4 or higher if you 361install SDK Tools r3 in your SDK.</p> 362</dd> 363 364<dt>Android tool:</dt> 365<dd> 366<ul> 367<li>Adds new <code>android create test-project</code> and <code>android update 368test-project</code> commands to allow for greater flexibility in the location of the 369main and test projects.</li> 370</ul> 371</dd> 372 373<dt>DDMS:</dt> 374<dd> 375<ul> 376<li>Adds a button to dump HPROF file for running appplications (app must be able 377to write to the sdcard).</li> 378<li>Button to start/stop profiling of a running application (app must be able to 379write to the sdcard). Upon stop, Traceview will automatically be launched to 380display the trace.</li> 381<li>Fixed DDMS, Traceview, and the AVD Mananger/SDK Updater to run on Mac OS X 38210.6.</li> 383<li>Fixed screenshot support for devices running 32-bit framebuffer.</li> 384</ul> 385</dd> 386 387<dt>Android SDK and AVD Manager:</dt> 388<dd> 389<ul> 390<li>Provides a new UI that lets you set options for controlling 391the emulator skin, screen size/density, and scale factor used when launching 392an AVD.</li> 393<li>Provides improved AVD creation UI, which lets you customize the hardware 394properties of your AVDs.</li> 395<li>Now enforces dependencies between platforms and tools components, and 396between SDK add-ons and platforms.</li> 397</ul> 398</dd> 399 400<dt>Layoutopt, a new tool for optimizing layouts:</dt> 401 402<dd><p>The SDK Tools r3 package includes <code>layoutopt</code>, a new command-line 403tool that helps you optimize your layout hierarchies. When run against your 404layout files, the tool analyzes their hierarchies and notifies you of 405inefficiencies and other potential issues. The tool also provides simple 406solutions for the issues it finds. For usage, see <a 407href="/guide/developing/tools/layoutopt.html">layoutopt</a>.</p> 408</dd> 409</dl> 410 </div> 411</div> 412