Google has released revision 17 of the SDK Tools and the Eclipse plugin. This release brings new features and bug fixes in for Lint static checker, the build system, and the emulator among other things.
Here’s what’s new for Lint in r17:
- Lint API Check – Added check for Android API calls that require a version of Android higher than the minimum supported version. You can use the @TargetApi annotation to specify local overrides for conditionally loaded code.
- New Lint Rules – Added over 40 new Lint rules for a total of over 80, including checks for performance, XML layouts, manifest and file handling.
- Ignoring Lint Warnings – Added ability to suppress Lint warnings in Java code with the new @SuppressLint annotation, and in XML files with the new tools: namespace prefix and ignore attribute.
- New Eclipse Lint UI – Improved HTML and XML reporting and Eclipse integration.
Improvements to the build systems for Eclipse and Ant:
- Better dealing with dependencies in Android projects – Added strict dependency support for 3rd party Jar files.
- Support for custom views with custom attributes in libraries. Layouts using custom attributes must use the namespace URI 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.
- Run some code only in debug mode. Builds now generate a class called BuildConfig containing a DEBUG constant that is automatically set according to your build type. You can check the (BuildConfig.DEBUG) constant in your code to run debug-only functions such as outputting debug logs.
- Virtual Machine Acceleration for x86. The emulator now supports running x86 system images in virtualization mode on Windows and Mac OS X. This allows the emulator running at near native speed. The drivers are available through the SDK Manager. This is an experimental feature.
- Multi-Touch input emulation. After adding webcam support and sensor emulation, Android added experimental support for Multi-Touch input through a tethered Android device.
Android also released an updated Support Library with the following improvements:
- ShareCompat provides easy helper classes for both sending and receiving content for social sharing apps.
- NavUtils and TaskStackBuilder provide cross-version support for implementing the Android Design guidelines for navigating within your app including the action bar’s “Up” button.
- NotificationCompat.Builder provides a compatibility implementation of Android 3.0’s Notification.Builder helper class for creating standardized system notifications.
- A new Library Project adds support for GridLayout back to API level 7 and higher.