Download‎ > ‎

ADT 21 Preview

  • New: February 7: ADT 21.1 Preview 3 Released.
  • New: November 13: ADT 21 Official Release. See
  • October 23, 2012: We have just released an updated preview build,  ADT 21 preview 10.
  • October 17, 2012: We have just released an updated preview build,  ADT 21 preview 9 (along with SDK Tools r21 Preview 9 and SDK platform Tools r15 Preview 9.)
  • October 3, 2012: We have just released an updated preview build,  ADT 21 preview 8 (Note: SDK Tools r21 and SDK Platform Tools r15 are still in preview 7.)
  • September 28, 2012: We have just released an updated preview 7 of ADT 21, SDK Tools r21 and SDK Platform Tools r15.
  • September 26, 2012: We have just released an updated preview 6 of SDK Tools r21 and SDK Platform Tools r15.
  • September 25, 2012: We have just released an updated preview 5 of ADT 21, SDK Tools r21 and SDK Platform Tools r15.
  • September 10, 2012: We have just released an updated preview 4 of ADT 21 and of the SDK Tools, r21.
  • August 30, 2012: We have just released an updated preview 3 of ADT 21 and of the SDK Tools r21.
  • August 22, 2012: We have just released an updated preview 2 of ADT 21 and of the SDK Tools r21.
  • August 9, 2012: We have just released a preview build of ADT 21 and of the SDK Tools r21.

New in ADT 21.0 Preview 10

Preview 10 is only a bug fix release. We are getting very close to a final release, and this build contains only bug fixes and last minute tweaks.

The following feature was added in one of the earlier previews, but was not mentioned in the description of changes:
  • Release 21 of ADT and the SDK Tools now have full support for Android devices using MIPS cores, similar to the support for ARM and Atom cores.

    The SDK always includes emulators for all three architectures.  Separate Android system images are needed for each combination of CPU architecture and Android ABI release level. These images show up in SDK Manager's list of available downloadable components; install the combinations on which you want to test applications. After downloading, the choice of architecture is controlled by the AVD Manager and by ADT's "Run Configuration" command."

New in ADT 21 Preview 9

Preview 9 contains a number of bug fixes. In particular, the issue with visual artifacts during XML editing should finally be fixed.

In addition, it contains the following new features:
  • Layout editor
    • Multi-configuration editing. This is the feature previewed in the Google I/O developer tools talk in June. See! (multi configuration editing starts at around 20m 30s.)
    • Setting a fragment layout or a ListView preview layout is now applied not just to the current layout but to all other configurations of the same layout.
    • Workaround for the Eclipse bug with the Property Sheet not working on OSX Mountain Lion
    • Include resources from library projects in the resource chooser, in XML code completion, in Go To Declaration, etc.
    • Improved stack trace display for exceptions generated during rendering by custom views
  • Several new lint checks:
    • Warn about package private methods in subclasses with the same signatures as package private methods in a different package: Dalvik will treat these as overridden methods.
    • Find text fields which should probably have a better inputType defined. If the id attribute mentions "email" then the input type should be textEmail, and ditto for "phone", "url", "number", "password", "date", etc.
    • Warn about notification icons and action bar icons that use color
    • Look for missing layout_width and layout_height attributes (when not specified on the element or via styles), since this can lead to runtime errors
    • Look for attributes missing the required android: namespace prefix in manifest files, menu files, drawable files, etc. This catches cases where your manifest for example declared exported=false (which would be ignored, and should have been android:exported=false).
    • Make the view cast detector handle layout ids used for multiple types of views
    • Ensure that declared permissions have unique base names, since these will all be sharing a single field in the generated Manifest class
    • Warn about <fragment> tags which do not set an id attribute (on orientation changes these will be reset)
    • Warn about usages of the mm or in units (they should work in theory, but due to some devices reporting incorrect physical densities, they don't; use dp instead.)
    • Ensure that the manifest file always declares explicitly whether backups are enabled or disabled.
  • Building
    • There's a new flag to force "jumbo mode" for dex which allows a larger number of strings in the dex files; set dex.force.jumbo=true in
  • AVDs
    • New tab in the AVD manager to configure virtual devices
    • Emulators launch with a skin that is dynamically generated and reflects the actual hardware configured in the AVD

New in ADT 21 Preview 8

Updates 6, 7 and 8 contain only bug fixes.

New in ADT 21 Preview 5

Preview 5 contains a large number of bug fixes. In addition, it contains the following changes:
  • Build system
    • Fixed manifest merger to properly adapt library classes in the merged manifest.
    • Libraries (both jar files and library projects) are now pre-dexed, improving build time.
    • The R classes for library projects are generated with only the IDs needed by the libraries, reducing the risk of hitting dex files limits for fields and methods.
    • Several editing features (code completion, resource chooser, go to declaration) properly handle library project resources now.
  • Lint
    • A couple of new checks: you must explicitly decide whether your app allows backups, and a label check. There's a new command line flag for setting the library path. Many improvements to the incremental lint analysis while editing.
  • Layout editor
    • The layout editor no longer forces all variations of a single layout into a single editor. You can for example open both the landscape and portrait versions of a layout as separate editors and quickly switch between them, or even re-dock your editors to edit them simultaneously. If you prefer the previous behavior there's a setting under Android > Editors to configure the old behavior.
    • Improved device menu in the configuration chooser
    • If a custom view throws exceptions during rendering or construction, the relevant part of the stacktrace is now shown in the layout editor's error display on the bottom, and the stack frames are hyperlinked.
  • Editors
    • The IDE remembers (for each type of editor - layout, manifest, values) whether you were last editing in XML or graphical mode, and uses that mode for newly opened files. This means that if you for example prefer to work with just XML, the IDE will start just showing you XML editors after you've switched to them for each type of editor.
    • Attributes and resources in values are validated on save again
  • GL Trace
    • Ability to export images and frames

New in ADT 21 Preview 4

Preview 4 contains a number of bug fixes. In addition, there are a handful of new lint checks:
  • Lint now looks for suspicious code which might be broken in various locales, such as strings formatting values, or performing case conversions, without specifying an explicit locale.
  • It looks for classes declared in the manifest which do not exist -- either because they have been deleted, or have been renamed or moved without updating the manifest, or because there's a typo in the declaration.
  • It looks for activities, services, applications etc classes declared in the manifest which do not specify a default public constructor. It also flags inner classes which are incorrectly registered (using . instead of $ as the separator).
  • It looks for leaks which can result when using View#setTag() and passing another view
  • It finds incorrect uses of resource alias files
  • It suggests using SparseIntArray instead of SparseArray<Integer>
  • It warns about applications that are not targeting the latest known version of the platform, meaning that various compatibility modes kick in and potentially makes the application look dated.
Besides the new lint checks, there are a few other minor improvements:
  • Systrace is integrated into DDMS.
  • Views in the layout editor can now specify a default action, which you can invoke with F2. For example, after dropping a button or text view, you can press F2 to edit its text.
  • You can also rename (change the id attribute) of an ID by invoking the Rename shortcut.
  • Adding a new locale is now easier with the new "Add Locale..." action in the locale menu. In addition to creating the new values folder, it lets you edit an initial set of translations for the new locale.
  • When a custom view (or incorrectly configured view) throws an exception during initialization or during painting, part of the relevant stack trace is shown inline in the layout editor, and you can click on the stack frames to jump to the relevant location

New in ADT 21 Preview 3

Preview 3 is mostly a bugfix release.

New in ADT 21 Preview 2

Preview 2, like preview 1, is mostly a bugfix release. It contains a number of bug fixes in various areas that were new in ADT 20, such as the new template infrastructure. Whereas 20.0.1, 20.0.2 and the upcoming 20.0.3 contained a small number of absolutely critical fixes, ADT 21 contains a much larger number of general bug fixes and infrastructure improvements.

There are some new features however:
  • The JUnit test runner now allows a test to be run on all connected devices simultaneously.
  • Improvements to the new template mechanism, cleanup of existing templates and several new templates
  • XML code completion can now complete (and show documentation for) theme references, such as ?android:attr/dividerHeight
  • The configuration chooser now shows full language and region names (not just 2-letter codes) in menus, in the configuration dialog etc
  • There are many new lint checks:
    • Find certain types of WakeLock mistakes (leading to unnecessary battery usage)
    • Find private key files placed in source folders (where they can end up getting distributed with the .apk)
    • Find incorrect uses of SecureRandom objects (where they are initialized with a fixed seed)
    • Find invalid drawable selector files where a later state is fully covered by an earlier state (and is therefore unreachable)
    • Find usages of dp units with the font property textSize (should use sp instead)
    • Find typos in string resource files. This currently checks for typos in the following languages: English, Spanish, Italian, German, Hungarian, Norwegian, Portuguese and Turkish. We need help to assemble typo-dictionaries for other languages! For details, see this post.
    • Some lint checks have been broadened; for example the px checker now looks at style declarations, the String.format checker also looks at getResources(, args), etc.
  • Many lint infrastructure improvements and bug fixes such as only reporting errors in library projects if the library project is included in the list of projects to be checked, support for class file flow analysis, removing a number of false positives, adding a new "lint" target to the ant build system for easier integration with continuous build systems, new --sources and --classpath arguments to point lint to sources with different directory structures, improvements to the XML export to support the Jenkins Lint plugin, etc.
  • The RelativeLayout handling in the layout editor has been improved, so dragging widgets around and deleting them should now result in the layout working more intuitively. In particular, deleting a widget should cause the constraints flowing through the deleted widgets to be transitively applied, and when moving widgets the constraints are preserved whenever possible (e.g. when it does not create a cycle).
  • Preview 2 has no new features relative to preview 1, just additional bug fixes. There are more features in the pipeline for ADT 21, but some important bugs in Preview 1 made it necessary to release an updated preview quickly.

  • Note: the "multiconfiguration editor" feature (see this post for details) is not yet in ADT 21


NOTE: ADT 21 requires Java 1.6 or higher (and Eclipse 3.6.2 or higher.).

ADT 21 depends on changes in the tools and platform-tools components, so to use the preview you will need to update all three (tools, platform-tools and the ADT plugin).

Starting with preview 3, we have a new way to distribute the preview:
  • The tools 21 preview is available via the SDK Manager when the "Preview Tools" option is enabled.
  • The ADT 21 preview is available on the update site.
For more information, please read the details on the Preview Channel page.

Reporting Bugs

As always, please provide feedback and bug reports (using one of the feedback channels).