Overview

Android is the first free, open source, and fully customizable mobile platform. Android offers a full stack: an operating system, middleware, and key mobile applications. It also contains a rich set of APIs that allows third-party developers to develop great applications.

Company / developerOpen Handset Alliance

Latest stable release1.5 Release 1 / 2009-04-27

Operating SystemBased On Linux

Kernel typeMonolithic (Linux)

LicenseApache 2.3 and 3.1 GPLv2[1]

Websitewww.android.com

Open

Android was built from the ground-up to enable developers to create compelling mobile applications that take full advantage of all a handset has to offer. It was built to be truly open. For example, an application can call upon any of the phone's core functionality such as making calls, sending text messages, or using the camera, allowing developers to create richer and more cohesive experiences for users. Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual machine that was designed to optimize memory and hardware resources in a mobile environment. Android is open source; it can be liberally extended to incorporate new cutting edge technologies as they emerge. The platform will continue to evolve as the developer community works together to build innovative mobile applications.

All applications are created equal

Android does not differentiate between the phone's core applications and third-party applications. They can all be built to have equal access to a phone's capabilities providing users with a broad spectrum of applications and services. With devices built on the Android Platform, users are able to fully tailor the phone to their interests. They can swap out the phone's homescreen, the style of the dialer, or any of the applications. They can even instruct their phones to use their favorite photo viewing application to handle the viewing of all photos.

Breaking down application boundaries

Android breaks down the barriers to building new and innovative applications. For example, a developer can combine information from the web with data on an individual's mobile phone -- such as the user's contacts, calendar, or geographic location -- to provide a more relevant user experience. With Android, a developer can build an application that enables users to view the location of their friends and be alerted when they are in the vicinity giving them a chance to connect.

Fast & easy application development

Android provides access to a wide range of useful libraries and tools that can be used to build rich applications. For example, Android enables developers to obtain the location of the device, and allows devices to communicate with one another enabling rich peer-to-peer social applications. In addition, Android includes a full set of tools that have been built from the ground up alongside the platform providing developers with high productivity and deep insight into their applications.

Licensing

Since 21 October 2008, Android has been available as open source. Google opened the entire source code (including network and telephony stacks), which had previously been unavailable, under an Apache license.

With the Apache License, vendors are free to add proprietary extensions without submitting those back to the open source community.

Android had been criticized for not being all open-source software despite what was announced by Google. Parts of the SDK are proprietary and closed source and some believe this is so that Google can control the platform.The Android Software Development Kit License Agreement states that:

3.2 You agree that Google (or Google's licensors) own all legal right, title and interest in and to the SDK, including any intellectual property rights which subsist in the SDK. Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not by this License Agreement. Until the SDK is released under an open source license, you may not extract the source code or create a derivative work of the SDK.

Android Developers

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications that run on Android-powered devices.

This site provides information about Google projects based on the Android platform, such as external libraries that extend the Android platform, Android applications, hosted services and APIs, the Android Developer Contest, and more. Everything on this site is provided by Google for the benefit of Android developers.

If you are looking for general information about Android, please visit the www.android.com site. If you are interested in developing applications for Android devices, please visit the Android Developers site at developer.android.com

Google APIs Add-On

The Google APIs add-on is an extension to the Android SDK development environment that gives your Android applications easy access to Google services and data. The central feature of the add-on is the Maps external library, which lets you add powerful mapping capabilities to your Android application.

To use the add-on, install it in your Android SDK. From there, you can access the classes of the Maps library and compile your application against them. The add-on also includes a compatible Android system image that runs in the Android Emulator, which lets you debug, profile, and test your application before publishing it to users. When you are ready to publish your application, you can deploy it to any Android-powered device that runs a compatible version of the Android platform and that also includes the Maps external library.

The Google APIs add-on includes:

The Maps external library for Android 1.5 (API Level 3)

A fully-compliant Android 1.5 system image (with the Maps library built in)

Storage:

Connectivity:

Messaging:

Both SMS and MMS are available forms of messaging including threaded text messaging.

Web browser:

The web browser available in Android is based on the open-source WebKit application framework.

Java virtual machine:

Software written in Java can be compiled into Dalvik bytecodes and executed in the Dalvik virtual machine, which is a specialized VM implementation designed for mobile device use, although not technically a standard Java Virtual Machine.