0% found this document useful (0 votes)
91 views

What Is Android?: Open Handset Alliance

The document discusses Android, an open-source software stack for mobile devices. It includes an operating system, middleware and applications built on a modified version of the Linux kernel. The Open Handset Alliance was formed to develop open standards for Android. Key features of Android include an application framework, virtual machine, integrated browser, media support and core applications. The architecture includes frameworks, libraries, security and privacy controls.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views

What Is Android?: Open Handset Alliance

The document discusses Android, an open-source software stack for mobile devices. It includes an operating system, middleware and applications built on a modified version of the Linux kernel. The Open Handset Alliance was formed to develop open standards for Android. Key features of Android include an application framework, virtual machine, integrated browser, media support and core applications. The architecture includes frameworks, libraries, security and privacy controls.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

What is Android?

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 on the Android platform using the Java programming language.

Open Handset Alliance


On November 5, 2007, the Open Handset Alliance, a consortium of several companies which include Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-Mobile and Texas Instrument sunveiled itself. The goal of the Open Handset Alliance is to develop open standards for mobile devices. On the same day, the Open Handset Alliance also unveiled their first product, Android, a mobile device platform built on the Linux kernel version 2.6. On December 9, 2008, 14 new members joined, including ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Huawei Technologies, Packet Video, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.

Android Open Source Project


The Android Open Source Project (AOSP) is led by Google, and is tasked with the maintenance and development of Android. According to the project "The goal of the Android Open Source Project is to create a successful real-world product that improves the mobile experience for end users." AOSP also maintains the Android Compatibility Program, defining an "Android compatible" device "as one that can run any application written by third-party developers using the Android SDK and NDK", to prevent incompatible Android implementations. The compatibility program is also optional and free of charge, with the Compatibility Test Suite also free and open-source

Android SDK
Here's an overview of the steps you must follow to set up the Android SDK: 1. Prepare your development computer and ensure it meets the system requirements. 2. Install the SDK starter package from the table above. (If you're on Windows, download the installer for help with the initial setup.) 3. Install the ADT Plug-in for Eclipse (if you'll be developing in Eclipse). 4. Add Android platforms and other packages to your SDK. 5. Explore the contents of the Android SDK (optional).

Features

Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source Web Kit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE language.

Applications
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, andothers. All applications are written using the Java programming

Android Architecture
The following diagram shows the major components of the Android operating system. Each section is described in more detail below.

Application Framework
By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. Underlying all applications is a set of services and systems, including:

A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack For more details and a walkthrough of an application, see the Notepad Tutorial.

Libraries
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries - based on Packet Video's Open CORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWeb Core - a modern web browser engine which powers both the Android browser and an embeddable web view SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer Free Type - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications

Security
Android applications run in a sandbox, an isolated area of the operating system that does not have access to the rest of the system's resources, unless access permissions are granted by the user when the application is installed. Before installing an application, Play Store displays all required permissions. A game may need to enable vibration, for example, but should not need to read messages or access the phonebook. After reviewing these permissions, the user can decide whether to install the application. Android has been criticized for providing an ineffective and too coarse grained permission system.In Android Permissions Demystified, Felt, Chin, Hanna, Song, and Wagner observe "... an install-time permission system is ineffective if developers routinely request more permissions than they require. Over privileged applications expose users to unnecessary permission warnings and increase the impact of a bug or vulnerability." The authors then go on to survey over privileged applications, including a Google authored reference implementations, using their Stowaway tool. In Dr. Android and Mr. Hide: Fine-grained security policies on unmodified Android, Jeon Micinski, Vaughan, et al. comment on the coarse grained permissions, stating "[the] deviation from least privilege increases the threat from vulnerabilities and malware. To address this issue, we present a novel system that can replace existing platform permissions with finer-grained ones." Several security firms have released antivirus software for Android devices, in particular, AVG Technologies, Avast, F-Secure, Kaspersky, McAfee and Symantec.

Privacy
Android smart phones have the ability to report the location of WiFi access points, encountered as phone users move around, to build databases containing the physical locations of hundreds of millions of such access points. These databases form electronic maps to locate smart phones, allowing them to run apps like Foursquare, Latitude, Places, and to deliver location-based ads. Third party monitoring software such as Taint Droid, an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers. In March 2012 it was revealed that Android Apps can copy photos without explicit user permission. Google responded they "originally designed the Android photos file system similar to those of other computing platforms like Windows and Mac OS. [...] we're taking another look at this and considering adding a permission for apps to access images. We've always had policies in place to remove any apps on Android Market that improperly access your data."

REFERENCES
Authored by Ed Burnette, Hello Android is a great tool to help you get started with your first Android application. Introducing the basics of Android development, you slowly start getting more conversant with this mobile platform.

http://developer.android.com

You might also like