10 Must-Have Android Tools for Developers
The Android SDK comes with a robust set of tools to help developers design, develop, test, and publish quality Android applications. In this article, we discuss 10 of the most common tools you should know about and learn to use.
Android Tool #1: Eclipse w/ADT
Although Eclipse is not the only Java development environment that can be used to develop Android applications, it is by far the most popular. This is partially due to its cost (free!) but mostly due the strong integration of the Android tools with Eclipse. This integration is achieved with the Android Development Tools (ADT) plug-in for Eclipse, which can be downloaded from the Android website.
Android Tool #2: The SDK and AVD Manager
This tool serves a number of important functions. It manages the different versions of the Android SDKs (build targets) that you can develop for, as well as third-party add-ons, tools, devices drivers, and documentation. Its second function is to manage the Android Virtual Device configurations (AVDs) you use to configure emulator instances.
Android Tool #3: Android Debug Bridge
The Android Debug Bridge (adb) connects other tools with the emulator and devices. Besides being critical for the other tools (most especially the Eclipse ADT plug-in) to function, you can use it yourself from the command line to upload and download files, install and uninstall packages, and access many other features via the shell on the device or emulator.
Android Tool #4: Dalvik Debug Monitor Server
The Dalvik Debug Monitor Server (DDMS), whether it's accessed through the standalone application or the Eclipse perspective with the same name, provides handy features for inspecting, debugging, and interacting with emulator and device instances. You can use DDMS to inspect running processes and threads, explore the file system, gather heap and other memory information, attach debuggers, and even take screenshots. For emulators, you can also simulate mock location data, send SMS messages, and initiate incoming phone calls.
Android Tool #5: The Android Emulator and Real Devices
Once you have begun to develop an app, it's important to test it on the appropriate device targets. The emulator can be used in conjunction with AVDs to simulate device targets. That said, testing on real physical devices is essential for complete test coverage. The emulator, while powerful, cannot emulate the idiosyncrasies of individual devices. Therefore, a solid test plan must incorporate both emulators and real devices. After all, your users won't be running your app on an emulator, will they?