The Android SDK: Top tools for effective Android app development
The Android SDK is full of tools to help developers out with the various tasks they go about during the course of Android app development. Many of these tools are easily accessible through Eclipse, often with their own perspective. Others are only available from the command line. Some tools are suitable for application designers and graphic artists, while others are for down and dirty debugging. The Android SDK includes tools for testers and automation use, as well as tools to protect your application from software pirates at distribution time. Let’s explore some of the most important tools available and discuss how each is used, where to find it and what part of the app development process it is most suited for.
Exploring the tools accessible from within eclipse
Let’s start with Eclipse. If you’re like many Android app developers, you spend most of your time working within Eclipse – designing, developing, debugging and preparing to distribute your Android app packages. Recently, some new tools have been added to the Android Developer Tools (ADT) plug-in for Eclipse; so even if you’ve been using Eclipse, you may find something new here.
The tools that are accessible from within Eclipse are generally focused towards the design, development and debugging of applications, as well as creating the final application packages for distribution. This means that the target audience is primarily the software developers, as opposed to QA personnel.
Android SDK Manager
The Android SDK Manager is a tool everyone should know about. This tool does more than just keep all your other Android development tools and libraries up to date. Here you’ll find SDK updates, tool updates and newly available SDKs, as well as legacy versions, third-party tools, platform device drivers and many other goodies. You’ll want to check the Android SDK Manager often for updates: the tools are often updated on a much more aggressive schedule than the Android SDK itself. You can access the Android SDK Manager from within Eclipse on the menu bar – Window>Android SDK Manager – as well as from the Android Eclipse toolbar.
Android Virtual Device Manager
Android developers don’t need to get their hands on every single Android device available to consumers – that would be prohibitively expensive. Instead, developers rely upon Android Virtual Devices or AVDs, to help configure the Android emulator to mimic the behaviour of different types of devices. The Android Virtual Device Manager is another core tool that all developers need to master in order to thoroughly debug and test their apps. AVDs are sets of device settings that the Android Emulator uses to simulate specific devices, like phones and tablets. Each AVD instance is configured with a system image, SD card storage and a device information, such as what version of the Android SDK to emulate; hardware settings to emulate, such as screen resolution and the existence of a camera; and navigation options like directional pads, trackballs and touch-screen abilities. The Android Virtual Device Manager has a graphic interface for creating and configuring Android Virtual Devices. Access the Android Virtual Device Manager through Eclipse from the menu bar – Window>AVD Manager – as well as from the Android Eclipse toolbar.
Dalvik Debug Monitor Server (DDMS)
You’ve probably used portions of the Dalvik Debug Monitor Server (DDMS) tool, regardless of whether you use the DDMS perspective in Eclipse or not. DDMS is really a collection of many Android app debugging tools, from Logcat logging output, to screen capturing and file browsing, to app memory monitoring. DDMS also includes features such as the ability to simulate phone calls and test messages and GPS location data with emulator instances. You can access the DDMS tool through Eclipse from the menu bar: Window>Open Perspective>Other…>DDMS.
The Hierarchy View
The Hierarchy Viewer tool allows you to inspect your app’s user interface components while the app is running. User interface debugging is made straightforward since components are displayed hierarchically in tree form and you can drill down to see the details. Performance indicators are displayed for each UI component, allowing developers and designers to visualise the relationships between components and seek and destroy UI inefficiencies. The Hierarchy Viewer is accessible in Eclipse from the menu bar: Window>Open Perspective>Other…> Hierarchy Viewer.