The vast majority of Android apps owe their existence to Eclipse. It is an open source IDE (integrated development environment) for Java projects (and more). Basically, the place where the application software is crafted, being supported through various stages of its lifecycle. Google officially supports it, and has created the Android Development Tools plugin for Eclipse and integrated its AVD Manager virtual device management into the tool as well.
In other words, you can not only build vanilla Java programs but quickly create Android-oriented code, and its testing is supported by emulators (the virtual devices) that show you how your code would run in standardised versions of particular Android devices (on the basis of their API level, rather than any details of a handset).
About the ADT plugin, Google writes:
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.ADT extends the capabilities of Eclipse to let you quickly set up new Android projects, create an application UI, add components based on the Android Framework API, debug your applications using the Android SDK tools, and even export signed (or unsigned) .apk files in order to distribute your application.
Developing in Eclipse with ADT is highly recommended and is the fastest way to get started. With the guided project setup it provides, as well as tools integration, custom XML editors, and debug output pane, ADT gives you an incredible boost in developing Android applications.
About the Android Virtual Device Manager Google writes:
The AVD Manager is an easy to use user interface to manage your AVD (Android Virtual Device) configurations. An AVD is a device configuration for the Android emulator that allows you to model different configurations of Android-powered devices. When you start the AVD Manager in Eclipse or run the android tool on the command line, you will see the AVD Manager as shown (below):
Eclipse itself started life back in 2001 with IBM as a Java-focused replacement of the object oriented VisualAge family of IDE products. It’s attraction to Google, however, lies in its extensible plug-in system, which means the interface can be extended to accommodate extra functionality.
As Wikipedia succinctly puts it:
This plug-in mechanism is a lightweight software componentry framework. In addition to allowing Eclipse to be extended using other programming languages such as C and Python, the plug-in framework allows Eclipse to work with typesetting languages like LaTeX, networking applications such as telnet and database management systems. The plug-in architecture supports writing any desired extension to the environment, such as for configuration management. Java and CVS support is provided in the Eclipse SDK, with support for other version control systems provided by third-party plug-ins.
According to the Eclispse website, the founding “Strategic Developers and Strategic Consumers” were Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP and Serena Software.
It is maintained by the Eclipse Foundation, “a not-for-profit, member supported corporation that hosts the Eclipse projects and helps cultivate both an open source community and an ecosystem of complementary products and services.”
Building Android projects
In terms of building Android projects, the necessary sequence of events is as follows:
* Download Java SE SDK
* Download the Android SDK
* Download the Eclipse IDE (Classic version)
* Download the ADT Plugin for Eclipse
As of June 2011, the most recent release of the software tool was “Indigo” 3.7. It can run on Linux, Mac OS X, Solaris, and Windows.
You can find out more about Eclipse at www.eclipse.org/
The Eclipse Plugin Central can be found at marketplace.eclipse.org/, where, for example among the many Android-related offereings, you could find “Testdroid Recorder”, which “enables easy automated UI testing of Android applications. Use your application to record test cases and playback on any device Android device or emulator.”
- What is… a GATT Service?
- What is… Security Enhanced (SE) Android
- What is… the Android Sensor Manager
- What is… Butter
- What is… Open Accessories Mode
- What is… Anymote
- What is… Rooting
- What is… Eclipse
- What is… Android Native Development
- What is… the Dalvik Virtual Machine