Anyone doing development for Android (or any software platform) knows that good tools are the most important part of the whole process. We've seen that the Android team has been hard at work to improve development and debugging tools, and they're still at it. The ADT plugin for Eclipse and the SDK tools/platform-tools have a major upgrade underway, and are at the third beta preview. Developers will enjoy the changes, which includes big things like a new version of ProGuard (more info here), as well as minor changes like being able to export a screenshot from the layout editor. We've got the full list of changes after the break, and if you're developing any sort of application for Android with Eclipse, you should give it a look.
But there's one big change that is going to be uber-helpful to the average Android hacker/modder -- detailed network usage of any application. The new DDMS tool will give data for network traffic, both in and out, on any device running Android 4.0.3 or higher. The graph updates in real-time, and in addition to being a great way for app developers to see how their app is utilizing network sockets, it will be able to help debug just what apps on your phone are eating up your data. No more guessing which app is stuck and constantly uploading, just plug your phone in and use the new DDMS tool to find out exactly what is going on. Knowing is half the battle.
If you want to try the new tools, you won't be able to download them via the SDK manager, but manual installation is easy enough, and you'll find full instructions at the source link below.
Source: Android Tools Project
DDMS can now show the live detailed network usage of an app (More Info)
- Bundled ProGuard updated to version 4.7. In addition to many new features, this will fix the "Conversion to Dalvik format failed with error 1" error some users have experienced.
- The default proguard.cfg file has been updated with better default flags for Android.
- The ProGuard configuration file has been split in half, with project specific flags kept in project and the generic Android flags distributed (and updated) with the tools themselves.
- More info
- Lint now checks Java code, and checks which previously performed pattern based searches in the Java code (such as the unused resource check) have been rewritten to use the more accurate Java parse trees.
- Lint supports library projects, so for example the unused resource check will properly handle resources declared in a library project and referenced in a downstream project.
- Lint warnings can be suppressed in Java code with the new @SuppressLint annotation, and in XML files with the new tools: namespace and ignore-attribute. (More Info)
New lint checks:
- Find Android API calls that require a version of Android higher than the minimum supported version. You can use the new @TargetApi annotation to specify local overrides for conditionally loaded code. (More Info)
- Performance rules
- About 30 other new rules
Revamped Eclipse Lint UI:
- New "Run Lint" toolbar action with a dropdown menu for selecting specific (or all) projects, clearing results, etc.
- The results window is now organized as a tree rather than a flat list. Each issue type has a single top level item, which makes it easier to quickly scan through the reported issues and narrow down to issues you are most interested in.
- The results window contains many new toolbar actions, including expand/collapse, ignore in file, ignore in project, ignore everywhere, show options, and configure columns.
- There are new columns available, such as category, priority, project, file and line. The column selection (as well as the column sizes) are persisted. You can click on columns to sort by that column.
- The Lint Options dialog has Enable All and Disable All buttons, and a search filter textbox to filter by issue id, summary and severity.
New Quick Outline for XML editors (Ctrl-O, Command-O). This shows the structure of the current file including icons and ids, and lets you filter and quickly jump to specific ids.
The resource chooser now shows the resolved value for resources (e.g. when selecting @string/hello it displays that the resolved value is "Hello World"). It also allows editing the chosen value directly.
The layout editor no longer assigns default ids to layouts, includes and merge tags. This tended to pollute the namespace with a lot of unused resources since layouts aren't usually manipulated via code, or referenced from XML. (The RelativeLayout editor automatically assigns ids to views without ids when pointing to them.)
Export Screenshot from the Layout Editor
Layout editor fix for SlidingDrawer which on some platforms could not be dragged into the layout.
Also fix preview rendering for SlidingDrawer and TabHost (issue 23022).
New default application icons, including an xhdpi version.
Important bug fixes:
- Fixed issues that could prevent layout rendering due to unresolvable resources (issues 21046 and 21051)
- Fix bug in resource chooser which made some types of framework resources impossible to select (issue 20589)
- Fix a bug in the formatter where a certain whitespace pattern could result in a non-space character getting deleted (issue 23940)
- Fix locale bug affecting Turkish locales in particular (issue 23747)