The Android Developer Tools (ADT) plugin for Eclipse provides a professional-grade development environment for building Android apps. It's a full Java IDE with advanced features to help you build, test, debug, and package your Android apps.
Free, open-source, and runs on most major OS platforms
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.
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.
To access these settings, open the Developer options in the system Settings. On Android 4.2 and higher, the Developer options screen is hidden by default. To make it available, go toSettings > About phone and tap Build number seven times. Return to the previous screen to find Developer 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.
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.
Fully instrumentated, scriptable test environment.
Integrated reports using standard test UI.
Create and run unit tests on hardware devices or emulator.
Support for compiling and packaging existing code written in C or C++.
Support for packaging multiple architectures in a single binary, for broad compatibility.