page.title=SDK Build Tools Release Notes

@jd:body

<div id="qv-wrapper">
<div id="qv">

  <h2>See Also</h2>
  <ol>
    <li><a href="{@docRoot}tools/building/index.html">Building and Running</a></li>
  </ol>

</div>
</div>

<p>Build Tools is a component of the Android SDK required for building Android
  application code. The latest version of these tools is included in the
  <a href="{@docRoot}sdk/index.html">SDK starter package</a> and installed in the
  <code>&lt;sdk&gt;/build-tools/</code> directory.</p>

<p>You should always keep your Build Tools component updated by downloading the latest version
  using the <a href="{@docRoot}tools/help/sdk-manager.html">Android SDK Manager</a>. By default,
  the Android SDK uses the most recent downloaded version of the Build Tools. If your projects
  depend on older versions of the Build Tools, the SDK Manager allows you to download and maintain
  separate versions of the tools for use with those projects.</p>

<p>To use a specific version of the Build Tools in your application project:</p>

<div class="toggle-content closed">
<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
  />Using Eclipse</a></p>

  <div class="toggle-content-toggleme">
  <ol>
    <li>In the root folder of your application project, find the {@code project.properties}
      file.</li>
    <li>Open the file and specify the Build Tools version by adding a {@code buildtools} property
      on a separate line:
<pre>
sdk.buildtools=17.0.0
</pre>
    </li>
  </ol>
  </div>
</div>

<div class="toggle-content closed">
<p style="margin-top:5px"><a href="#" onclick="return toggleContent(this)">
  <img src="/assets/images/triangle-closed.png" class="toggle-content-img" alt=""
  />Using Android Studio</a></p>

  <div class="toggle-content-toggleme">
  <ol>
    <li>In the root folder of your application project, find the {@code build.gradle}
      file.</li>
    <li>Open the file and specify the Build Tools version by adding a {@code buildToolsVersion}
      property to the {@code android} section:
<pre>
android {
    ...
    buildToolsVersion "17.0.0"
    ...
}
</pre>
    </li>
  </ol>
  </div>
</div>


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

<p>The sections below provide notes about releases of the Build Tools. To determine which
revisions of the Build Tools are available in your SDK, refer to the <em>Installed Packages</em>
listing in the Android SDK Manager.</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=""/>Build Tools, Revision 22.0.0</a> <em>(March 2015)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Added support for Android 5.1 (API level 22).</p>
  </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=""/>Build Tools, Revision 21.1.2</a> <em>(February 2015)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Fixed problem with building data layouts in 32-bit mode.</p>
  </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=""/>Build Tools, Revision 21.1.1</a> <em>(November 2014)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Fixed multidex script issues.</p>
  </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=""/>Build Tools, Revision 21.1</a> <em>(October 2014)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Added multidex file support for APKs and Jack support to address the 64K method reference
    limit.</p>
  </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=""/>Build Tools, Revision 21.0.2</a> <em>(October 2014)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Complete updates for Eclipse ADT to solve instability issues on Windows platforms.</p>
  </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=""/>Build Tools, Revision 21.0.1</a> <em>(October 2014)</em>
  </p>
  <div class="toggle-content-toggleme">
    <p>Initial updates for Eclipse ADT on Windows. Please use Revision 21.0.2.</p>
  </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=""/>Build Tools, Revision 21.0.0</a> <em>(October 2014)</em>
  </p>
  <div class="toggle-content-toggleme">

    <dl>
      <dt>General Notes:</dt>
      <dd>
        <ul>
          <li>Added support for Android 5.0 (API level 21).</li>
          <li>RenderScript now supports seamless 32/64-bit operation for API level 21 and higher.</li>
          <li>Fixed issue with the Gradle build system when using the JaCoCo plugin.
          (<a href="http://b.android.com/69174">Issue 69174</a>)</li>
          <li>Added an <em>input-list</em> option for use with long command lines 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=""/>Build Tools, Revision 20.0.0</a> <em>(June 2014)</em>
  </p>
  <div class="toggle-content-toggleme">

    <dl>
      <dt>General Notes:</dt>
      <dd>
        <ul>
          <li>Added support for Android Wear.</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=""/>Build Tools, Revision 19.1.0</a> <em>(May 2014)</em>
  </p>
  <div class="toggle-content-toggleme">

    <dl>
      <dt>General Notes:</dt>
      <dd>
        <ul>
          <li>Added <code>zipalign</code> to the Build Tools.</li>
          <li>Modified <code>aapt</code> to ignore XML files that fail to compile.</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=""/>Build Tools, Revision 19.0.3</a> <em>(March 2014)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Fixed an issue with RenderScript support.</p>

  </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=""/>Build Tools, Revision 19.0.2</a> <em>(February 2014)</em>
  </p>
  <div class="toggle-content-toggleme">

    <dl>
      <dt>Fixed RenderScript build issues:</dt>
      <dd>
        <ul>
          <li>Fixed a problem with RenderScript bitcode encoding.
            (<a href="http://b.android.com/64775">Issue 64775</a>)
          </li>
          <li>Fixed a problem with RenderScript missing math symbols
            (<a href="http://b.android.com/64110">Issue 64110</a>)
          </li>
        </ul>
      </dd>
    </dl>
    <p></p>

  </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=""/>Build Tools, Revision 19.0.1</a> <em>(December 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <dl>
      <dt>Fixed miscellaneous build issues:</dt>
      <dd>
        <ul>
          <li>Fixed support for compiling RenderScript in NDK mode with Gradle.</li>
          <li>Fixed {@code BufferOverflowException} problem in the dx build.
            (<a href="http://b.android.com/61710">Issue 61710</a>)
          </li>
        </ul>
      </dd>
    </dl>
    <p></p>

  </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=""/>Build Tools, Revision 19</a> <em>(October 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Added support for Android 4.4 (API level 19) build targets.</p>

  </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=""/>Build Tools, Revision 18.1.1</a> <em>(September 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Fixed several minor build issues.</p>

  </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=""/>Build Tools, Revision 18.1.0</a> <em>(September 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Fixed issue with RenderScript support mode.</p>

  </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=""/>Build Tools, Revision 18.0.1</a> <em>(July 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Added support for Android 4.3 (API level 18) build targets.</p>

  </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=""/>Build Tools, Revision 17</a> <em>(May 2013)</em>
  </p>
  <div class="toggle-content-toggleme">

    <p>Initial release.</p>

    <dl>
      <dt>General Notes:</dt>
      <dd>
        <ul>
          <li>Included support for Android 4.2 (API level 17) build targets.</li>
          <li>Decoupled the build-specific components of the Android SDK from the platform-tools
          component, so that the build tools can be updated independently of the integrated
          development environment (IDE) components.</li>
        </ul>
      </dd>
    </dl>

  </div>
</div>
