18
Apr
image

As an Android developer, I like to keep tabs on the tools I use every day, especially ones as important as ADT for Eclipse and SDK Tools. As was the case several times before, the Android team in charge of both of them posted previews of upcoming releases of ADT 20 and SDK Tools r20, available for manual download ahead of the final releases.

Yup, you heard me correctly - 20, not 18 or 19. Even though the previous major release was 17, 18 followed up shortly after with some minor changes, and 19, even more minor, wasn't even posted to the downloads page (see here for the reason). The problem is SDK Tools point releases are currently not supported, so even for small fixes, the team has to rev up SDK Tools to the next major version and keep ADT's version in sync to avoid confusion. They're working on adding point release support to SDK Tools, but until that's in place, we have situations like this one, with 17 -> 20 in a matter of weeks.

What's New

So, what's new in ADT 20? Quite a bit, actually.

The most exciting feature is, undoubtedly, a brand new Property Editor, which left quite a lot to be desired in the past. I frequently reported bugs in it to the team, and I'm absolutely ecstatic to see it receive a full rewrite:

propertysheet1 propertysheet2 propertysheet4

Another notable new feature in ADT 20 is NDK support for building and debugging, currently being introduced as alpha. Game and high performance app developers are probably popping champagne right about now.

As I mentioned in the title, ADT 20 also brings improved performance - for example, SDK data should load 30% faster in this release.

For the rest of the changes, check out the full changelog below:

  • A lot of bug fixes, particularly in the Lint area.
  • Performance and memory fixes (loading SDK data should be 30% faster.)
  • A few new lint rules:
    • Detect usages of Toast.makeText() without calling show() on the result, as well as passing invalid duration parameters (e.g. a number instead of one of the two allowed constants.)
    • Detect incorrect manifest registrations (where elements such as <uses-library>, <activity> etc are placed under the wrong parent.)
    • Several security checks: Look for exported content providers without required permissions, look for creation of world readable files and preferences, look for calls to  android.webkit.WebSettings.setJavaScriptEnabled.
  • New property sheet in the layout editor which offers:
    • Highlighting (in bold) for important attributes.
    • Inline preview of colors and images, as well as the corresponding resource name.
    • Displays default values, when available.
    • Completion of resource values and enum and flag constants.
    • Support for showing and hiding "advanced" properties.
    • Nested properties (and collapse all and expand all) for better categorization. For example, layout params are listed first as a single nested property.
    • Tooltips over the attribute names, not values, so they never obscure the value column.
    • Checkbox support for boolean values.
    • Support for switching between alphabetical and natural sort orders.
    • NOTE: This feature is still in development, and in particular the window management is being improved. For now you may want to drag the property sheet window over and dock it below the outline, since it looks better as a tall window than Eclipse's default wide window configuration for the property sheet.
    • More details here.
  • Support XML editor outlines for layout files.
    • Switching back and forth between the text editor and graphical editor will alternate between the two outlines, and in particular the XML editor outline will keep up to date with edits in the editor, and selection will follow the mouse cursor etc.
  • SDK Manager:
    • Cache to avoid downloading repository definitions all the time.
    • New "Tools > Manage Add-on Sites" option that allows deactivating 3rd party sites (e.g. if one or more are temporarily slow to load.)
  • Fixes in Ant:
    • Test projects now have access to the full classpath from the tested projects, including Library Projects and 3rd party jar
    • Applications embedding tests can now be deployed and tested, including with code coverage, like test applications.
  • NDK support (alpha):
    • Initial support for building and debugging projects with C/C++ code.
    • To enable this, install the NDK feature (depends on CDT), and then set the path to NDK in Android Preferences.
    • Add NDK nature to an Android project by right clicking on the project and select "Android Tools -> Add Native Support".
    • To debug an NDK project, create a new debug configuration of type "Android Native Application".

Download/Install

While you can't use the SDK Manager to automatically upgrade to preview releases, you can still give them a go by installing them manually - just head over to the ADT 20 preview page and scroll down to Installation.

Source: Android Tools site

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • marcusmaximus04

    "Another notable new feature in ADT 20 is NDK support for building and debugging, currently being introduced as alpha."

    Yesssssss

    • http://android-leaks.com/ Jinkle

      I share your opinion!  About time!

  • http://www.facebook.com/profile.php?id=1745689461 Hal Motley

    That's quite an update and as a wannabe developer I definitely like to look at these updates and see what tools I will have in store. I especially want the emulator to be less slow and buggy as I think that is an obstacle to the testing of an app (outside the realms of testing on a physical Android device.

    I really hope though Artem that we can get an Android Police application similar to OhSo's OMGUbuntu! Application as seen here: https://play.google.com/store/apps/details?id=com.echo.omgubuntu&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5lY2hvLm9tZ3VidW50dSJd

    This is because the mobile site is tad disappointing as it doesn't display the pictures and banners too well. I hope you consider it and I wish luck to all the developers out there with some new toys to play with! :-)

    • http://www.androidpolice.com/ Artem Russakovskii

      We do have an application almost ready, though it'll need some updates to really do all the things we want. It'll be released when the bugs are squashed and I'm happy with it.

      May I ask what you mean by not displaying banners and pictures too well on the mobile site?

      • http://www.facebook.com/profile.php?id=1745689461 Hal Motley

        Thanks for the reply Artem, it's good to here that there is an official AP application in the works! :-)

        What I mean is that the mobile site doesn't display all the pictures (the Android policeman next to the logo) and some of the other text. Don't get me wrong the mobile site is adequate but I just feel that after using both of the OMGUbuntu! applications that AP should have one too.

        PS: I mentioned you when I went to The Gadget Show Live when I went to the booth with the Cozybot green Android stands, I bought one for £5 and I am very pleased with it. The dude there mentioned you because you both organised the giveaway. Cool stuff eh?

  • io53

    Cool new property editor, but I'll still create the layout in java.

    • ArtnerC

      Gross

      • io53

        What's gross about doin it the better way? ;)

    • danlmotif

      Booooo