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.
To get started, download the Android SDK.
Full Java IDE
- Android-specific refactoring, quick fixes, integrated navigation between Java and Android 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.
- Vsualize your UI on tablets, phones, and other devices. Switch themes, locales, even plaform versions instantly, without building.
- Visual refactoring lets you extracts layout for inclusion, convert layouts, extract styles
- Editor support for working with custom UI components
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 broadest compatibility at lowest cost.
- 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.