page.title=SDK Tools
@jd:body

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

<p>If you are new to the Android SDK, the <a
href="{@docRoot}sdk/index.html">SDK starter package</a> installs the
latest revision of the SDK Tools in the <code>&lt;sdk&gt;/tools</code> directory.</p>

<p>If you are already using the SDK and you want to update to the latest version
of the SDK Tools, use the <em>Android SDK Manager</em> to get the
update, rather than downloading a new SDK starter package. For more information
about how to update, see <a
href="{@docRoot}sdk/exploring.html#UpdatingComponents">Exploring the SDK</a>.</p>


<h2 id="notes">Revisions</h2>

<p>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 Manager. </p>

<p>For a summary of all known issues in SDK Tools, see <a
href="http://tools.android.com/knownissues">http://tools.android.com/knownissues</a>.</p>


<div class="toggle-content opened">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-opened.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 21.1</a> <em>(February 2013)</em>
  </p>

  <div class="toggle-content-toggleme">

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 16 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r21.1 is
          designed for use with ADT 21.1.0 and later. If you haven't already, update your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.1.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>

    <dt>General Notes:</dt>
    <dd>
      <ul>
        <li>Improved error reporting in {@code dx} when dex merging fails in the build
          system.</li>
        <li>Added more than 15 new Lint checks, including checks for overriding older APIs, XML
          resource problems, graphic asset issues and manifest tags.</li>
        <li>Added new aapt feature to compile resources.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 21.0.1</a> <em>(December 2012)</em>
  </p>

  <div class="toggle-content-toggleme">

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 16 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r21.0.1 is
          designed for use with ADT 21.0.1 and later. If you haven't already, update your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.0.1.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>

    <dt>General Notes:</dt>
    <dd>
      <ul>
        <li>Build
          <ul>
            <li>Updated build to detect and handle package name conflicts between an application and
              the libraries it depends on. Libraries cannot share package names unless all of them
              share the same package name.
              (<a href="http://code.google.com/p/android/issues/detail?id=40152">Issue 40152</a>,
               <a href="http://code.google.com/p/android/issues/detail?id=40273">Issue 40273</a>)
            </li>
            <li>Added a flag to disable dex merging to deal with cases where merging could generate
              a broken dex file. If this happens to your project, add the following setting to your
              {@code project.properties} file: {@code dex.disable.merger=true} This setting
              causes the build system to revert to the older, slower dex processing that does not
              pre-dex libraries.</li>
          </ul>
        </li>

        <li>Renderscript
          <ul>
            <li>Added support for
              <a href="{@docRoot}guide/topics/renderscript/compute.html#filterscript">Filterscript</a>
              compilation.</li>
            <li>Added new project setting to control the Renderscript compilation target separately
              from an Android project. Adding the following line to a {@code project.properties}
              file causes Renderscript code to be compiled for Android API Level 17, while the
              containing application can target a different (lower) API level:
              <pre>renderscript.target = 17</pre>
              Previously, the Renderscript compilation target was tied to the
              {@code android:minSdkVersion} setting in the manifest.
              (<a href="http://code.google.com/p/android/issues/detail?id=40487">Issue 40487</a>)
            </li>
          </ul>
        </li>

      </ul>
    </dd>


    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Lint
          <ul>
            <li>Corrected check for {@code 0px} values in style XML elements.
              (<a href="http://code.google.com/p/android/issues/detail?id=39601">Issue 39601</a>)
              </li>
            <li>Fixed incorrect flagging of formatting strings.
              (<a href="http://code.google.com/p/android/issues/detail?id=39758">Issue 39758</a>)
              </li>
            <li>Fixed problem where {@code tools:ignore} directive in the manifest file was ignored
              by the Lint tool.
              (<a href="http://code.google.com/p/android/issues/detail?id=40136">Issue 40136</a>)
              </li>
            <li>Fixed problem with flagging a wakelock release inside a conditional.
              (<a href="http://code.google.com/p/android/issues/detail?id=40424">Issue 40424</a>)
              </li>
            <li>Fixed incorrect reporting of missing {@code layout_width} and {@code layout_height}
              XML fields.
              (<a href="http://code.google.com/p/android/issues/detail?id=38958">Issue 38958</a>)
              </li>
            <li>Fixed handling of custom namespace attributes.</li>
            <li>Added fixes for filtering out library project warnings.</li>
            <li>Removed warnings about missing classes before a build.</li>
          </ul>
        </li>

        <li>Fixed problem with UI Automator Viewer execution script where Android tools directory
          is not set.</li>
        <li>Fixed problem with the SDK Manager so that it auto-selects the most recently released
          platform on startup.</li>
        <li>Fixed Java finding script to look for the currently supported version of Java (1.6 or
          higher).</li>
        <li>Fixed the SDK Manager launcher in the ADT bundle so that it can properly launch the
          SDK Manager program when it is placed at the root of the bundle.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 21</a> <em>(November 2012)</em>
  </p>

  <div class="toggle-content-toggleme">

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 16 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r21 is designed
        for use with ADT 21.0.0 and later. If you haven't already, update your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 21.0.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
      </ul>
    </dd>

    <dt>General Notes:</dt>
    <dd>
      <ul>
        <li>Build System
          <ul>
            <li>Added a flag that sets <em>jumbo mode</em> for DEX files, which allows a larger
              number of strings in the DEX files. Enable this mode by adding the following line to
              the {@code project.properties} file of your project:
              <pre>set dex.force.jumbo=true</pre></li>
            <li>Improved the build time by pre-dexing libraries (both JAR files and library
              projects).</li>
            <li>Updated the build to generate {@code R} resource classes for library projects
              with only the IDs needed by the libraries, reducing the risk of hitting DEX file
              limits for fields and methods.</li>
            <li>Improved the build so that several editing features (code completion, resource
              chooser, go to declaration) properly handle library project resources.</li>
          </ul>
        </li>
        <li>Lint
          <ul>
            <li>Added over 25 new lint rules for resources, locale settings, layout
              files, incorrect use of {@link android.util.SparseArray} and
              {@link android.os.PowerManager.WakeLock} and manifest issues.</li>
            <li>Updated reporting to include errors in library projects if the library project is
              in the list of projects to be checked.</li>
            <li>Added a new {@code lint} target to the Ant build system for easier
              integration with continuous build systems.</li>
            <li>Added new {@code --sources} and {@code --classpath} arguments to point to sources
              with different directory structures.</li>
            <li>Improved the XML export function to support the <a
              href="https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin">Jenkins Lint
              plugin</a>.
            </li>
            <li>Added support for class file flow analysis.</li>
          </ul>
        </li>
        <li>Android Virtual Devices (AVD)
          <ul>
            <li>Added new <strong>Device Definitions</strong> tab in the AVD Manager for configuring
              standard size and Nexus virtual devices.</li>
            <li>Improved emulators so that they launch with a skin that is dynamically generated and
              reflects the actual hardware configured in the AVD Manager.</li>
            <li>Improved support for developing Android apps on MIPS-based devices with new MIPS
              System Images for Android Virtual Devices.</li>
          </ul>
        </li>
        <li>Added {@code jobb} tool for creating and encrypting
          <a href="{@docRoot}google/play/expansion-files.html">APK Expansion Files</a>.
          (<a href="{@docRoot}tools/help/jobb.html">more info</a>)
        <li>Improved the Android JUnit test runner to allow a test to be run on all connected
          devices simultaneously.</li>
      </ul>
    </dd>

    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Fixed manifest merger to properly adapt library classes in the merged manifest.</li>
      </ul>
    </dd>

    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 20.0.3</a> <em>(August 2012)</em>
  </p>

  <div class="toggle-content-toggleme">

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 12 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r20.0.3 is designed
        for use with ADT 20.0.3 and later. If you haven't already, update your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 20.0.3.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Fixed problem with cached download lists in SDK Manager.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>


<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 20.0.1</a> <em>(July 2012)</em>
  </p>

  <div class="toggle-content-toggleme">

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 12 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r20.0.1 is designed
        for use with ADT 20.0.1 and later. If you haven't already, update your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 20.0.1.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Fixed wrong check on build state that forced repetitive Java code recompilation.</li>
        <li>Fixed problems with running more than one emulator and running multiple emulators
with GPU acceleration.</li>
        <li>Improved resize algorithm for better rendering on scaled emulator windows.</li>
        <li>Fixed a bug in the {@code lint} check for unprotected broadcast receivers to ignore
unprotected receivers for default Android actions.</li>
        <li>Fixed build issue for projects using Renderscript.</li>
        <li>Fixed memory leak in the emulator.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 20</a> <em>(June 2012)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 12 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r20 is designed for
        use with ADT 20.0.0 and later. If you haven't already, we highly recommend updating your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 20.0.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>General notes:</dt>
    <dd>
      <ul>
        <li>Added new Device Monitor application, grouping Android debugging tools into a
single application, including ddms, traceview, hierarchyviewer and Tracer for GLES. (<a
href="{@docRoot}tools/help/gltracer.html">more info</a>)</li>
        <li>Added new System Trace new tool for tracing Android system activity. This tool allow you
to capture a slice of system activity, plus additional information tagged from the <strong>Settings
&gt; Developer Options &gt; Monitoring: Enable traces</strong> or with specific calls added to your
application code.</li>
        </li>
        <li>Build System
          <ul>
            <li>Added automatic merging of library project manifest files into the including
project's manifest. Enable this feature with the {@code manifestmerger.enabled} property.</li>
            <li>Added automatic ProGuard support for the {@code aapt -G} flag. This change causes
the build system to generate a temporary ProGuard {@code keep-rules} file containing classes that
are referenced from XML files (such as custom views) and pass this to ProGuard at shrink time. This
can make the resulting APK much smaller when using just a small portion of a large library project
(such as the Android Support library), since the catch-all rules to keep all custom views from the
default ProGuard configuration file have also been removed.</li>
            <li>Added two ProGuard configuration files for use in projects: {@code
proguard-android-optimize.txt} which enables optimizations and {@code proguard-android.txt} which
disables them.</li>
          </ul>
        </li>
        <li>SDK Manager
          <ul>
            <li>Improved caching to reduce downloading of repository definitions.</li>
            <li>Added <strong>Tools > Manage Add-on Sites</strong> option to improve performance by
            allowing temporary deactivation of third-party sites if they are loading slowly.</li>
            <li>Added settings for the SDK Manager download cache (<strong>SDK Manager > Tools >
Options</strong>).</li>
          </ul>
        </li>
      </ul>
    </dd>
    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Build
          <ul>
            <li>Fixed problem where test projects did not have access to the full classpath of tested
projects, including Library Projects and third-party jars.</li>
            <li>Fixed deployment logic so that applications with embedded tests can now be deployed
and tested like test applications, including code coverage information.</li>
            <li>Fixed Ant support for testing projects with libraries.</li>
          </ul>
        </li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 19</a> <em>(April 2012)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="note"><strong>Note:</strong> This update of SDK Tools is only available through
the <a href="{@docRoot}sdk/exploring.html">Android SDK Manager</a>. Use this tool to
download and install this update.</p>

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 9 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r19 is designed for
        use with ADT 18.0.0 and later. If you haven't already, we highly recommend updating your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 18.0.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Fixed an issue that prevented some developers from running the emulator with GPU
acceleration.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 18</a> <em>(April 2012)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="caution"><strong>Important:</strong> To download the new Android
    4.0 system components from the Android SDK Manager, you must first update the
    SDK tools to revision 14 or later and restart the Android SDK Manager. If you do not,
    the Android 4.0 system components will not be available for download.</p>

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 9 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r18 is designed for
        use with ADT 18.0.0 and later. If you haven't already, we highly recommend updating your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 18.0.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>General notes:</dt>
    <dd>
      <ul>
        <li>Updated the SdkController app to encapsulate both sensor and multitouch emulation
          functionality.</li>
      </ul>
    </dd>
    <dt>Bug fixes:</dt>
    <dd>
      <ul>
        <li>Fixed Ant issues where some jar libraries in the {@code libs/} folder are not picked up
in some cases.</li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 17</a> <em>(March 2012)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="caution"><strong>Important:</strong> To download the new Android
    4.0 system components from the Android SDK Manager, you must first update the
    SDK tools to revision 14 or later and restart the Android SDK Manager. If you do not,
    the Android 4.0 system components will not be available for download.</p>

    <dl>
    <dt>Dependencies:</dt>
    <dd>
      <ul>
        <li>Android SDK Platform-tools revision 9 or later.</li>
        <li>If you are developing in Eclipse with ADT, note that the SDK Tools r17 is designed for
        use with ADT 17.0.0 and later. If you haven't already, we highly recommend updating your
        <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 17.0.0.</li>
        <li>If you are developing outside Eclipse, you must have
          <a href="http://ant.apache.org/">Apache Ant</a> 1.8 or later.</li>
    </ul>
    </dd>
    <dt>General notes:</dt>
    <dd>
      <ul>
        <li>Emulator
          <ul>
            <li>Added support for hardware accelerated graphics rendering. This feature requires an
API Level 15, Revision 3 or later system image.
(<a href="{@docRoot}tools/devices/emulator.html#accel-graphics">more info</a>)
            </li>
            <li>Added support for running Android x86 system images in virtualization mode on
Windows and Mac OS X.
(<a href="{@docRoot}tools/devices/emulator.html#accel-vm">more info</a>)
              <p class="note"><strong>Note:</strong> Use the Android SDK Manager to download and
install x86 system images. Android x86 system images are not available for all API levels.</p>
            </li>
            <li>Added experimental support for multi-touch input by enabing the emulator to receive
              touch input from a USB-tethered physical Android device.
              (<a href="http://tools.android.com/tips/hardware-emulation">more info</a>)</li>
          </ul>
        </li>
        <li>Added viewing of live detailed network usage of an app in DDMS. (<a
    href="http://tools.android.com/recent/detailednetworkusageinddms">more info</a>)</li>
        <li>ProGuard
          <ul>
            <li>Updated the bundled ProGuard tool to version 4.7. In addition to many new features,
this update fixes the {@code Conversion to Dalvik format failed with error 1} error some users have
experienced.</li>
            <li>Updated the default {@code proguard.cfg} file with better default flags for
              Android.</li>
            <li>Split the ProGuard configuration file has been in half, with project specific flags
kept in project and the generic Android flags distributed (and updated) with the tools
themselves.</li>
          </ul>
        </li>
        <li>Build
          <ul>
            <li>Added a feature that allows you to run some code only in debug mode. Builds now
generate a class called {@code BuildConfig} containing a {@code DEBUG} constant that is
automatically set according to your build type. You can check the ({@code BuildConfig.DEBUG})
constant in your code to run debug-only functions.</li>
            <li>Fixed issue when a project and its libraries include the same jar file in their libs
              folder. (<a href="http://tools.android.com/recent/dealingwithdependenciesinandroidprojects">more
              info</a>)</li>
            <li>Added support for custom views with custom attributes in libraries. Layouts using
custom attributes must use the namespace URI {@code http://schemas.android.com/apk/res-auto} instead
of the URI that includes the app package name. This URI is replaced with the app specific one at
build time.</li>
          </ul>
        </li>
        <li>Lint
          <ul>
            <li>Updated Lint to check Android application code. Lint rules which previously
performed pattern based searches in the application code (such as the unused resource check) have
been rewritten to use the more accurate Java-style parse trees.</li>
            <li>Added support for checking library projects. This change means that rules such as
the unused resource check properly handle resources declared in a library project and referenced in
a downstream project.</li>
            <li>Added ability to suppress Lint warnings in Java code with the new
{@code @SuppressLint} annotation, and in XML files with the new tools: namespace and
ignore attribute. (<a
    href="http://tools.android.com/recent/ignoringlintwarnings">more info</a>)</li>
            <li>New Lint checks:
              <ul>
                <li>Added check for Android API calls that require a version of Android higher than
                  the minimum supported version. You can use the new {@code @TargetApi} annotation
                  to suppress warnings when the code is wrapped in a system version condition.
                  (<a href="http://tools.android.com/recent/lintapicheck">more info</a>)</li>
                <li>Added over 20 new Lint rules, including checks for
                  <a href="http://tools.android.com/recent/lintperformancechecks">performance</a>,
                  XML layouts, manifest and file handling.</li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </dd>
    </dl>
  </div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 16</a> <em>(December 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="caution"><strong>Important:</strong> To download the new Android
    4.0 system components from the Android SDK Manager, you must first update the
    SDK tools to revision 14 or later and restart the Android SDK Manager. If you do not,
    the Android 4.0 system components will not be available for download.</p>

<dl>
<dt>Dependencies:</dt>
<dd>
  <ul>
    <li>Android SDK Platform-tools revision 9 or later.</li>
    <li>If you are developing in Eclipse with ADT, note that the SDK Tools r16 is designed for use
    with ADT 16.0.0 and later. If you haven't already, we highly recommend updating your
    <a href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 16.0.0.</li>
    <li>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
    Ant</a> 1.8 or later.</li>
</ul>
</dd>
<dt>General notes:</dt>
<dd>
  <ul>
    <li>Added Lint tools to detect common errors in Android projects.
      (<a href="http://tools.android.com/recent/lint">more info</a>)</li>
    <li>Added sensor emulation support, which allows the emulator to read sensor data from a
      physical Android device.
      (<a href="http://tools.android.com/recent/sensoremulation">more info</a>)</li>
    <li>Added support for using a webcam to emulate a camera on Mac OS X.</li>
  </ul>
</dd>
<dt>Bug fixes:</dt>
<dd>
  <ul>
    <li>Snapshots now work for Android 4.0 system images.</li>
    <li>Fixed several small issues for the build file.
    (<a href="http://code.google.com/p/android/issues/detail?id=21023">Issue 21023</a>,
    <a href="http://code.google.com/p/android/issues/detail?id=21267">Issue 21267</a>,
    <a href="http://code.google.com/p/android/issues/detail?id=21465">Issue 21465</a>,
    <a href="http://code.google.com/p/android/issues/detail?id=21525">Issue 21525</a>).</li>
  </ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 15</a> <em>(October 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="caution"><strong>Important:</strong> To download the new Android
    4.0 system components from the Android SDK Manager, you must first update the
    SDK tools to revision 14 or later and restart the Android SDK Manager. If you do not,
    the Android 4.0 system components will not be available for download.</p>
  <dl>
<dt>Dependencies:</dt>
<dd>
  <ul><li>Android SDK Platform-tools revision 9 or later.</li>
  <li>If you are developing in Eclipse with ADT, note that the SDK Tools r15 is designed for use
  with ADT 15.0.0 and later. If you haven't already, we highly recommend updating your <a
  href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 15.0.0.</li>
  <li>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
  Ant</a> 1.8 or later.</li>
</ul>

<dt>Bug fixes:</dt>
<dd>
  <ul>
    <li>Fixed emulator crash on Linux due to improper webcam detection
    (<a href="http://code.google.com/p/android/issues/detail?id=20952">Issue 20952</a>).</li>
    <li>Fixed emulator issue when using the <code>-wipe-data</code> argument.</li>
    <li>Fixed build issue when using Renderscript in projects that target API levels 11-13
    (<a href="http://code.google.com/p/android/issues/detail?id=21006">Issue 21006</a>).</li>
    <li>Fixed issue when creating an AVD using the GoogleTV addon
    (<a href="http://code.google.com/p/android/issues/detail?id=20963">Issue 20963</a>).</li>
    <li>Fixed <code>ant test</code>
    (<a href="http://code.google.com/p/android/issues/detail?id=20979">Issue 20979</a>).</li>
    <li>Fixed <code>android update project</code>
    (<a href="http://code.google.com/p/android/issues/detail?id=20535">Issue 20535</a>).</li>
    <li>Fixed scrolling issue in the new Logcat panel of DDMS.</li>
    <li>Fixed issue with MonkeyRunner
    (<a href="http://code.google.com/p/android/issues/detail?id=20964">Issue 20964</a>).</li>
    <li>Fixed issues in the SDK Manager
    (<a href="http://code.google.com/p/android/issues/detail?id=20939">Issue 20939</a>,
    <a href="http://code.google.com/p/android/issues/detail?id=20607">Issue 20607</a>).</li>
  </ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 14</a> <em>(October 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
    <p class="note"><strong>Important:</strong> To download the new Android
    4.0 system components from the Android SDK Manager, you must first update the
    SDK tools to revision 14 and restart the Android SDK Manager. If you do not,
    the Android 4.0 system components will not be available for download.</p>
  <dl>
<dt>Dependencies:</dt>
<dd>
  <ul><li>Android SDK Platform-tools revision 8 or later.</li>
  <li>If you are developing in Eclipse with ADT, note that the SDK Tools r14 is designed for use
  with ADT 14.0.0 and later. If you haven't already, we highly recommend updating your <a
  href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 14.0.0.</li>
  <li>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
  Ant</a> 1.8 or later.</li>
</ul>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>Added webcam support to Android 4.0 or later platforms to emulate rear-facing cameras when
    one webcam is present, and to emulate both rear-facing and front-facing cameras when two
    webcams are present. Webcam support is for Windows and Linux only.
    Mac support will come in a later release.</li>
    <li>Changed <code>default.properties</code> to <code>project.properties</code> and
    <code>build.properties</code> to <code>ant.properties</code>. Any existing
    projects that you build with Ant must be updated with the <code>android update project</code>
    command.</li>
    <li>Changed Ant <code>build.xml</code> file to support improvements to the
    build system and added and modified Ant commands to support these changes. For a list of Ant
commands, see the
<a href="{@docRoot}tools/building/building-cmdline.html#AntReference">Ant Command
Reference</a>.</li>
    <li>Changed how library projects are built.</li>
    <li>Improved incremental builds, so that resource compilation runs less frequently. Builds no
    longer run when you edit strings or layouts (unless you add a new <code>id</code>) and no longer
    run once for each library project.</li>
    <li>Introduced a "PNG crunch cache" that only runs on modified PNG files, instead of
    crunching all existing PNG files, all the time.</li>
    <li>Revamped the SDK Manager UI (<a href="http://tools.android.com/recent/newsdkmanager">more
info</a>).</li>
  </ul>
  <p>For a complete overview of the build system changes and what you need to do to support them,
see the <a href="http://tools.android.com/recent/buildchangesinrevision14">Android Tools Project
site</a>.</p>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 13</a> <em>(September 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
<dt>Dependencies:</dt>
<dd>
<p>If you are developing in Eclipse with ADT, note that the SDK Tools r13 is designed for use with
ADT 12.0.0 and later. If you haven't already, we highly recommend updating your <a
href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 12.0.0.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>Fix compilation issue in Ant (<code>dex</code> step) when paths have spaces.</li>
    <li>Fix issue in emulator installation when paths have spaces.</li>
    <li>Fix issue when AVD paths have spaces.</li>
    <li>Fix rendering issue when using emulator scaling (<a href="http://code.google.com/p/android/issues/detail?id=18299">see more</a>).</li>
  </ul>
</dd>
</dl>
</div>
</div>


<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 12</a> <em>(July 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
<dt>Dependencies:</dt>
<dd>
<p>If you are developing in Eclipse with ADT, note that the SDK Tools r12 is designed for use with
ADT 12.0.0 and later. If you haven't already, we highly recommend updating your <a
href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 12.0.0.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>The AVD manager and emulator can now use system images
    compiled for ARM v7 and x86 CPUs.</li>
  </ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 11</a> <em>(May 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
<dt>Dependencies:</dt>
<dd>
<p>If you are developing in Eclipse with ADT, note that the SDK Tools r11 is designed for use with
ADT 10.0.1 and later. If you haven't already, we highly recommend updating your <a
href="{@docRoot}tools/sdk/eclipse-adt.html">ADT Plugin</a> to 10.0.1.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>Miscellaneous emulator changes to support Android 3.1.</li>
  </ul>
</dd>
</dl>
</div>
</div>


<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 10</a> <em>(February 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
<dt>Dependencies:</dt>
<dd>
<p>If you are developing in Eclipse with ADT, note that the SDK Tools r10 is
designed for use with ADT 10.0.0 and later. After installing SDK Tools r10, we
highly recommend updating your ADT Plugin to 10.0.0.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>The tools now automatically generate Java Programming Language source files (in the
<code>gen</code> directory) and
    bytecode (in the <code>res/raw</code> directory) from your native <code>.rs</code> files</li>
  </ul>
</dd>
</dl>
</div>
</div>



<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 9</a> <em>(January 2011)</em>
  </p>

  <div class="toggle-content-toggleme">
  <dl>
<dt>Dependencies:</dt>
<dd>
<p>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.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<dt>Upgrading to SDK Tools r9:</dt>
<dd>
<p>If you are upgrading to SDK Tools r9 from SDK Tools r7 or earlier, the default installed location
for the <code>adb</code> tool has changed from <code>&lt;<em>SDK</em>&gt;/tools/adb</code> to
<code>&lt;<em>SDK</em>&gt;/platform-tools/adb</code>. 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 <code>adb</code> executable from the new
location to the old is not recommended, since subsequent updates to the SDK
Tools will delete the file.</p>
</dd>

<dt>General notes:</dt>
<dd>
  <ul>
    <li>The default ProGuard configuration, <code>proguard.cfg</code>, now ignores the following classes:
      <ul>
        <li>classes that extend {@link android.preference.Preference}</li>
        <li>classes that extend {@link android.app.backup.BackupAgentHelper}</li>
      </ul>
    </li>
    <li>Ant lib rules now allow you to override <code>java.encoding</code>, <code>java.source</code>,
    and <code>java.target</code> properties.</li>
    <li>The default encoding for the <code>javac</code> Ant task is now UTF-8.</li>
    <li>The LogCat view in DDMS now properly displays UTF-8 characters.</li>
    <li>The SDK Manager is more reliable on Windows. For details on the improvements, see the
    <a href="http://tools.android.com/recent/sdkmanagerfixes">Android Tools Project Site</a>. </li>
    <li>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. <strong>Note:</strong> The snapshot feature is still under active
development and might not always perform as expected.</li>
    <li>Fixed the missing JAR file error that prevented <code>draw9patch</code> from running.</li>
    <li>Fixed the Windows launch scripts <code>hierarchyviewer</code> and <code>ddms</code> to support
    the new location of <code>adb</code>.</li>
    <li>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.</li>
  </ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 8</a> <em>(December 2010)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd>
<p>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.</p>

<p>If you are developing outside Eclipse, you must have <a href="http://ant.apache.org/">Apache
Ant</a> 1.8 or later.</p>

<p>Also note that SDK Tools r8 requires a new SDK component called
<em>Platform-tools</em>. 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 <code>adb</code>, <code>aapt</code>, <code>aidl</code>, and
<code>dx</code>. To download the Platform-tools component, use the Android SDK
Manager, as described in <a href="{@docRoot}sdk/exploring.html">Exploring the
SDK</a></p>

<dt>Upgrading from SDK Tools r7:</dt>
<dd>
<p>If you are upgrading to SDK Tools r8 from an earlier version, note that the
the default installed location for the <code>adb</code> tool has changed from
<code>&lt;<em>SDK</em>&gt;/tools/adb</code> to
<code>&lt;<em>SDK</em>&gt;/platform-tools/adb</code>. 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 <code>adb</code> executable from the new
location to the old is not recommended, since subsequent updates to the SDK
Tools will delete the file.</p>
</dd>

<dt>General notes:</dt>
<dd>
<ul>
<li>All SDK platforms now support Library Projects.</li>
<li>Support for a true debug build. Developers no longer need to add the
<code>android:debuggable</code> attribute to the
<code>&lt;application&gt;</code> tag in the manifest &mdash; the build tools add
the attribute automatically. In Eclipse/ADT, all incremental builds are assumed
to be debug builds, so the tools insert <code>android:debuggable="true"</code>.
When exporting a signed release build, the tools do not add the attribute. In
Ant, a <code>ant debug</code> command automatically inserts the
<code>android:debuggable="true"</code> attribute, while <code>ant release</code>
does not. If <code>android:debuggable="true"</code> is manually set, then
<code>ant release</code> will actually do a debug build, rather than a release
build.</li>
<li>Automatic ProGuard support in release builds. Developers generate a ProGuard
configuration file using the <code>android</code> tool &mdash; the build tools
then automatically run ProGuard against the project sources during the build.
For more information, see the <a
href="{@docRoot}tools/help/proguard.html">ProGuard</a>
documentation. </li>
<li>New overridable Ant javac properties: <code>java.encoding</code>,
<code>java.source</code>, and <code>java.target</code> (default values are
"ascii", "1.5", and "1.5", respectively).</li>
<li>New UI for the HierarchyViewer tool.</li>
</ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 7</a> <em>(September 2010)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd>
<p>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.</p>
</dd>

<dt>General notes:</dt>
<dd>
<ul>
<li>Added support for library projects that depend on other library projects.</li>
<li>Adds support for aidl files in library projects.</li>
<li>Adds support for extension targets in Ant build to perform tasks between the
normal tasks: <code>-pre-build</code>, <code>-pre-compile</code>, and
<code>-post-compile</code>.</li>
<li>Adds support for "headless" SDK update. See <code>android -h update sdk</code>
for more information.</li>
<li>Fixes location control in DDMS to work in any locale not using '.' as a
decimal point.</li>
</ul>
</ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 6</a> <em>(May 2010)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd>
<p>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.</p>
</dd>

<dt>Library projects:</dt>
<dd>
<p>The SDK Tools now support the use of <em>library projects</em> 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 <a
href="{@docRoot}tools/projects/index.html#LibraryProjects">Creating and Managing Projects</a> document.</p>
<p>If you are developing in Eclipse, <a href="eclipse-adt.html">ADT</a>
provides the equivalent library project support.</p>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 5</a> <em>(March 2010)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd><ul>
<li>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.</li>
<li>For Mac OS platforms, OS X 10.4.x (Tiger) is no longer
officially supported. </li>
</ul>
</dd>

<dt>SDK and AVD Manager:</dt>
<dd>
<ul>
<li>Fixes SSL download for the standalone version of the SDK Updater.</li>
<li>Fixes issue with 64-bit JVM on Windows.</li>
<li>Adds support for platform samples components.</li>
<li>Improves support for dependency between components.</li>
<li>AVDs now sorted by API level.</li>
<li>The AVD creation dialog now enforces a minimum SD card size of 9MB.</li>
<li>Prevents deletion of running AVDs.</li>
<li>Settings are now automatically saved, no need to click "Apply".</li>
</ul>
</dd>

<dt>Emulator:</dt>
<dd>
<ul>
<li>Emulator now requires SD card to be 9MB or more.</li>
</ul>
</dd>

<dt>Layoutopt:</dt>
<dd>
<ul>
<li>Fixes <code>layoutopt.bat</code> to execute correctly on Windows.</li>
</ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 4</a> <em>(December 2009)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd><p>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
<strong>must</strong> update your ADT plugin to version 0.9.5 or higher if you
install SDK Tools r4 in your SDK. </p></dd>

<dt>General notes:</dt>
<dd>
<ul>
<li>Launcher script now forces GDK_NATIVE_WINDOW=true (linux only), to fix a
compatibility issue between GTK and SWT.</li>
</ul>
</dd>

<dt>Android SDK and AVD Manager:</dt>
<dd>
<ul>
<li>AVD Launch dialog now shows scale value.</li>
<li>Fixes potential NPE in SDK Manager on AVD launch, for older AVD with no
skin name specified.</li>
<li>Fixes XML validation issue in on older Java versions.</li>
<li>No longer forces the use of Java 1.5 on Mac OS X.</li>
</ul>
</dd>

<dt>Emulator:</dt>
<dd>
<ul>
<li>No longer limits the size of the system partition.</li>
</ul>
</dd>

<dt>Ant build tools:</dt>
<dd>
<ul>
<li>.apk packaging now properly ignores vi swap files as well as hidden files.</li>
</ul>
</dd>
</dl>
</div>
</div>

<div class="toggle-content closed">
  <p><a href="#" onclick="return toggleContent(this)">
    <img src="{@docRoot}assets/images/triangle-closed.png" class="toggle-content-img"
      alt=""/>SDK Tools, Revision 3</a> <em>(October 2009)</em>
  </p>

  <div class="toggle-content-toggleme">
<dl>
<dt>Dependencies:</dt>
<dd><p>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
<strong>must</strong> update your ADT plugin to version 0.9.4 or higher if you
install SDK Tools r3 in your SDK.</p>
</dd>

<dt>Android tool:</dt>
<dd>
<ul>
<li>Adds new <code>android create test-project</code> and <code>android update
test-project</code> commands to allow for greater flexibility in the location of the
main and test projects.</li>
</ul>
</dd>

<dt>DDMS:</dt>
<dd>
<ul>
<li>Adds a button to dump HPROF file for running applications (app must be able
to write to the sdcard).</li>
<li>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.</li>
<li>Fixed DDMS, Traceview, and the AVD Mananger/SDK Updater to run on Mac OS X
10.6.</li>
<li>Fixed screenshot support for devices running 32-bit framebuffer.</li>
</ul>
</dd>

<dt>Android SDK and AVD Manager:</dt>
<dd>
<ul>
<li>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.</li>
<li>Provides improved AVD creation UI, which lets you customize the hardware
properties of your AVDs.</li>
<li>Now enforces dependencies between platforms and tools components, and
between SDK add-ons and platforms.</li>
</ul>
</dd>

<dt>Layoutopt, a new tool for optimizing layouts:</dt>

<dd><p>The SDK Tools r3 package includes <code>layoutopt</code>, 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 <a
href="/tools/help/layoutopt.html">layoutopt</a>.</p>
</dd>
</dl>
</div>
</div>

