Android is a complete mobile phone software stack , i.e. it includes OS , Middleware and Application.
Android was founded in Palo Alto, California in October 2003 by Andy Rubin, Rich Miner, Nick Sears and Chris White. Initially this technology was developed for the Mobile devices. Android is used in numerous smartphones, e-reader devices and tablet computers.
Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.
The Android operating system was developed by Android, Inc., which was acquired by Google in July 2005.The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008.
On June 27, 2012, at the Google I/O conference, Google announced the next Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in terms of functionality and performance . Current running version of Android is Android Marshmallow.
What is Open Handset Alliance(OHA)?
In November 2007, the Open Source Alliance a 34-Company consortium initially and now its 81 was for to develop Android ,Innovation in mobile technology , improving the user experience.
Open Handset Alliance basically a consortium of Mobile Operators,Handset Manufacturers , Software Companies , Semi-Conductor companies and Commercialization Companies.
Initially the AIM of the OHA was to develop a Hardware which support the android technology. In October 2008 first generation of Android phones are released. First android supported hardware was provided by the HTC-Dream.
Key Points of Android :
1. Open Source Technology
Android is an open source technology which means it is free of cost and original copy of android is available.Android is an open-source software stack created for a wide array of devices with different form factors. The primary purposes of Android are to create an open software platform available for carriers, OEMs, and developers to make their innovative ideas a reality and to introduce a successful, real-world product that improves the mobile experience for users.
2.Android is an Software stack
Android is an software stack for mobile devices i.e. its include Key Application , Middle-ware and Os.
Android is acquired by Google in July 2005.
Google offers a variety of services that help you build new revenue streams, manage app distribution, track app usage, and enhance your app with features such as maps, sign-in, and cloud messaging.
Although these Google services are not included in the Android platform, they are supported by most Android-powered devices. When using these services, you can distribute your app on Google Play to all devices running Android 2.3 or higher, and some services support even more devices.
4. Core Java API's
Core java is used to create the android based applications.The Core-Java APIs Library is a flexible, efficient, and powerful Java client library for accessing any HTTP-based API on the web.
The library has the following features:
A powerful OAuth 2.0 library with a consistent interface.
Lightweight, efficient XML and JSON data models that support any data schema.
Support for protocol buffers.
A set of generated libraries for Google APIs.
5.AVD(Android Virtual device
Android Virtual Device provides QEMU base Emulator technology which provides ease for developers to test , debug and develop the android application.
An Android Virtual Device (AVD) is an emulator configuration that lets you model an actual device by defining hardware and software options to be emulated by the Android Emulator.
An AVD consists of:
A hardware profile: Defines the hardware features of the virtual device. For example, you can define whether the device has a camera, whether it uses a physical QWERTY keyboard or a dialing pad, how much memory it has, and so on.
A mapping to a system image: You can define what version of the Android platform will run on the virtual device. You can choose a version of the standard Android platform or the system image packaged with an SDK add-on.
Other options: You can specify the emulator skin you want to use with the AVD, which lets you control the screen dimensions, appearance, and so on. You can also specify the emulated SD card to use with the AVD.
A dedicated storage area on your development machine: the device's user data (installed applications, settings, and so on) and emulated SD card are stored in this area.
Dalvik is the process virtual machine (VM) in Google's Android operating system, which, specifically, executes applications7 written for Android.
7.Linux Kernel 2.6
"Linux is open source" that means, one can make enhancements upon the Linux kernel structure( maintaining the GNU licence agreement). Hence, Android tak7es Linux 2.6 as its underlying kernel and makes enhancements to meet mobile O/S requirements such as better memory management, better processor management.
Android devices mainly use versions 3.4 or 3.10 of the Linux kernel.The specific kernel version depends on the actual Android device and its hardware platform;Android has used various kernel versions since the version 2.6.25 that was used in Android 1.0.
Android's variant of the Linux kernel has further architectural changes that are implemented by Google outside the typical Linux kernel development cycle, such as the inclusion of components like Binder , ashmem, pmem, logger, wakelocks, and different out of memory (OOM) handling.