Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give you a powerful, integrated environment in which to build Android applications.
Full Java IDE
Android-specific refactoring, quick fixes, integrated navigation between Java and XML resources.
Enhanced XML editors for Android XML resources.
Static analysis tools to catch performance, usability, and correctness problems.
Build support for complex projects, command-line support for CI through Ant. Includes ProGuard and app-signing.
Template-based wizard to create standard Android projects and components.
Graphical UI Builders
Build rich Android UI with drag and drop.
Visualize your UI on tablets, phones, and other devices. Switch themes, locales, even platform versions instantly, without building.
Visual refactoring lets you extracts layout for inclusion, convert layouts, extract styles.
Editor support for working with custom UI components.
On-device Developer Options
Enable debugging over USB.
Quickly capture bug reports onto the device.
Show CPU usage on screen.
Draw debugging information on screen such as layout bounds, updates on GPU views and hardware layers, and other information.
Plus many more options to simulate app stresses or enable debugging options.
Develop on Hardware Devices
Use any commercial Android hardware device or multiple devices.
Deploy your app to connected devices directy from the IDE.
Live, on-device debugging, testing, and profiling.
Develop on Virtual Devices
Emulate any device. Use custom screen sizes, keyboards, and other hardware components.
Advanced hardware emulation, including camera, sensors, multitouch, telephony.
Develop and test for broad device compatibility.
Powerful Debugging
Full Java debugger with on-device debugging and Android-specific tools.
Built-in memory analysis, performance/CPU profiling, OpenGL ES tracing.
Graphical tools for debugging and optimizing UI, runtime inspecton of UI structure and performance.
Runtime graphical analysis of your app's network bandwidth usage.
Testing
Fully instrumentated, scriptable test environment.
Integrated reports using standard test UI.
Create and run unit tests on hardware devices or emulator.
Native Development
Support for compiling and packaging existing code written in C or C++.
Support for packaging multiple architectures in a single binary, for broad compatibility.