The Android operating system is a state-of-the-art platform for mobile devices unveiled to the general public on November 5, 2007. Originally designed by Android Inc., it was purchased by Google late 2005 and subsequently by the Open Handset Alliance. The Android operating system allows developers to create Java managed code that can control mobile devices using Google-developed Java libraries. Its OS software stack is made up of applications running on an object-oriented framework residing on top of a Dalvik virtual machine, a VM designed by Dan Bornstein that runs .dex-based applications designed for memory- and processor-constrained systems typical in the mobile device world. The Android operating system consists of 12 millions lines of source code. Although it is predominantly Java-based, Android makes use of many C-based libraries like the OpenCore, OpenGL, SQLite database system, WebKit, and SGL.
One of the key features of the Android operating system is that it was designed with the goal of advancing open standards for mobile devices in mind, with its source being freely available since October 2008 when Google opened it under an Apache License allowing vendors to add proprietary extension without submitting them back to the open source community. As such, unit sales for Android OS-based smartphones ranked second among all smartphones sold in the United States during first quarter 2010.
Developers can make use of either the Eclipse IDE (recommended) or any standard text editor (i.e., EMACS). The development environment includes an SDK, debugging tools, profiling tools, memory inspectors, and a device emulator for simulating application execution on one’s PC. All of these tools are available on Windows, Mac, and Linux desktops.