page.title=SDK Tools @jd:body

SDK Tools is a downloadable component for the Android SDK. It includes the complete set of development and debugging tools for the Android SDK.

If you are new to the Android SDK, the SDK starter package installs the latest revision of the SDK Tools in the <sdk>/tools directory.

If you are already using the SDK and you want to update to the latest version of the SDK Tools, use the Android SDK and AVD Manager to get the update, rather than downloading a new SDK starter package. For more information about how to update, see Updating SDK Components.

Revisions

The sections below provide notes about successive releases of the SDK Tools, as denoted by revision number. To determine what revision of the SDK Tools you are using, refer to the "Installed Packages" listing in the Android SDK and AVD Manager.

SDK Tools, Revision 9 (January 2011)
Dependencies:

If you are developing in Eclipse with ADT, note that the SDK Tools r9 is designed for use with ADT 9.0.0 and later. After installing SDK Tools r9, we highly recommend updating your ADT Plugin to 9.0.0.

If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

Upgrading to SDK Tools r9:

If you are upgrading to SDK Tools r9 from SDK Tools r7 or earlier, the default installed location for the adb tool has changed from <SDK>/tools/adb to <SDK>/platform-tools/adb. This means that you should add the new location to your PATH and modify any custom build scripts to reference the new location. Copying the adb executable from the new location to the old is not recommended, since subsequent updates to the SDK Tools will delete the file.

General notes:
  • The default ProGuard configuration, proguard.cfg, now ignores the following classes:
    • classes that extend {@link android.preference.Preference}
    • classes that extend {@link android.app.backup.BackupAgentHelper}
  • Ant lib rules now allow you to override java.encoding, java.source, and java.target properties.
  • The default encoding for the javac Ant task is now UTF-8.
  • The LogCat view in DDMS now properly displays UTF-8 characters.
  • The SDK Manager is more reliable on Windows. For details on the improvements, see the Android Tools Project Site.
  • Early look at the new snapshot feature: To improve startup time for the emulator, you can enable snapshots for the system state. The emulator will then restore to the state when it last closed almost instantly. Note: The snapshot feature is still under active development and might not always perform as expected.
  • Fixed the missing JAR file error that prevented draw9patch from running.
  • Fixed the Windows launch scripts hierarchyviewer and ddms to support the new location of adb.
  • Known issues with emulator performance: Because the Android emulator must simulate the ARM instruction set architecture on your computer, emulator performance is slow. We're working hard to resolve the performance issues and it will improve in future releases.
SDK Tools, Revision 8 (December 2010)
Dependencies:

If you are developing in Eclipse with ADT, note that SDK Tools r8 is designed for use with ADT 8.0.0 and later. After installing SDK Tools r8, we highly recommend updating your ADT Plugin to 8.0.0.

If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

Also note that SDK Tools r8 requires a new SDK component called Platform-tools. The new Platform-tools component lets all SDK platforms (Android 2.1, Android 2.2, and so on) use the same (latest) version of build tools such as adb, aapt, aidl, and dx. To download the Platform-tools component, use the Android SDK Manager, as described in Adding SDK Components

Upgrading from SDK Tools r7:

If you are upgrading to SDK Tools r8 from an earlier version, note that the the default installed location for the adb tool has changed from <SDK>/tools/adb to <SDK>/platform-tools/adb. This means that you should add the new location to your PATH and modify any custom build scripts to reference the new location. Copying the adb executable from the new location to the old is not recommended, since subsequent updates to the SDK Tools will delete the file.

General notes:
  • All SDK platforms now support Library Projects.
  • Support for a true debug build. Developers no longer need to add the android:debuggable attribute to the <application> tag in the manifest — the build tools add the attribute automatically. In Eclipse/ADT, all incremental builds are assumed to be debug builds, so the tools insert android:debuggable="true". When exporting a signed release build, the tools do not add the attribute. In Ant, a ant debug command automatically inserts the android:debuggable="true" attribute, while ant release does not. If android:debuggable="true" is manually set, then ant release will actually do a debug build, rather than a release build.
  • Automatic ProGuard support in release builds. Developers generate a ProGuard configuration file using the android tool — the build tools then automatically run ProGuard against the project sources during the build. For more information, see the ProGuard documentation.
  • New overridable Ant javac properties: java.encoding, java.source, and java.target (default values are "ascii", "1.5", and "1.5", respectively).
  • New UI for the HierarchyViewer tool.
SDK Tools, Revision 7 (September 2010)
Dependencies:

If you are developing in Eclipse with ADT, note that SDK Tools r7 is designed for use with ADT 0.9.8 and later. After installing SDK Tools r7, we highly recommend updating your ADT Plugin to 0.9.8.

General notes:
  • Added support for library projects that depend on other library projects.
  • Adds support for aidl files in library projects.
  • Adds support for extension targets in Ant build to perform tasks between the normal tasks: -pre-build, -pre-compile, and -post-compile.
  • Adds support for "headless" SDK update. See android -h update sdk for more information.
  • Fixes location control in DDMS to work in any locale not using '.' as a decimal point.
SDK Tools, Revision 6 (May 2010)
Dependencies:

If you are developing in Eclipse with ADT, note that SDK Tools r6 is designed for use with ADT 0.9.7 and later. After installing SDK Tools r6, we highly recommend updating your ADT Plugin to 0.9.7.

Library projects:

The SDK Tools now support the use of library projects during development, a capability that lets you store shared Android application code and resources in a separate development project. You can then reference the library project from other Android projects and, at build time, the tools compile the shared code and resources as part of the dependent applications. More information about this feature is available in the Developing in Other IDEs document.

If you are developing in Eclipse, ADT 0.9.7 provides the equivalent library project support.

SDK Tools, Revision 5 (March 2010)
Dependencies:
  • If you are developing in Eclipse with ADT, note that SDK Tools r5 is designed for use with ADT 0.9.6 and later. After installing SDK Tools r5, we highly recommend updating your ADT Plugin to 0.9.6.
  • For Mac OS platforms, OS X 10.4.x (Tiger) is no longer officially supported.
SDK and AVD Manager:
  • Fixes SSL download for the standalone version of the SDK Updater.
  • Fixes issue with 64-bit JVM on Windows.
  • Adds support for platform samples components.
  • Improves support for dependency between components.
  • AVDs now sorted by API level.
  • The AVD creation dialog now enforces a minimum SD card size of 9MB.
  • Prevents deletion of running AVDs.
  • Settings are now automatically saved, no need to click "Apply".
Emulator:
  • Emulator now requires SD card to be 9MB or more.
Layoutopt:
  • Fixes layoutopt.bat to execute correctly on Windows.
SDK Tools, Revision 4 (December 2009)
Dependencies:

SDK Tools r4 is compatible with ADT 0.9.5 and later, but not compatible with earlier versions. If you are developing in Eclipse with ADT, you must update your ADT plugin to version 0.9.5 or higher if you install SDK Tools r4 in your SDK.

General notes:
  • Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a compatibility issue between GTK and SWT.
Android SDK and AVD Manager:
  • AVD Launch dialog now shows scale value.
  • Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no skin name specified.
  • Fixes XML validation issue in on older Java versions.
  • No longer forces the use of Java 1.5 on Mac OS X.
Emulator:
  • No longer limits the size of the system partition.
Ant build tools:
  • .apk packaging now properly ignores vi swap files as well as hidden files.
SDK Tools, Revision 3 (October 2009)
Dependencies:

SDK Tools r3 is compatible with ADT 0.9.4 and later, but not compatible with earlier versions. If you are developing in Eclipse with ADT, you must update your ADT plugin to version 0.9.4 or higher if you install SDK Tools r3 in your SDK.

Android tool:
  • Adds new android create test-project and android update test-project commands to allow for greater flexibility in the location of the main and test projects.
DDMS:
  • Adds a button to dump HPROF file for running appplications (app must be able to write to the sdcard).
  • Button to start/stop profiling of a running application (app must be able to write to the sdcard). Upon stop, Traceview will automatically be launched to display the trace.
  • Fixed DDMS, Traceview, and the AVD Mananger/SDK Updater to run on Mac OS X 10.6.
  • Fixed screenshot support for devices running 32-bit framebuffer.
Android SDK and AVD Manager:
  • Provides a new UI that lets you set options for controlling the emulator skin, screen size/density, and scale factor used when launching an AVD.
  • Provides improved AVD creation UI, which lets you customize the hardware properties of your AVDs.
  • Now enforces dependencies between platforms and tools components, and between SDK add-ons and platforms.
Layoutopt, a new tool for optimizing layouts:

The SDK Tools r3 package includes layoutopt, a new command-line tool that helps you optimize your layout hierarchies. When run against your layout files, the tool analyzes their hierarchies and notifies you of inefficiencies and other potential issues. The tool also provides simple solutions for the issues it finds. For usage, see layoutopt.