Android (operating system)
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Android Android robot.svg
Android.svg
Android screenshot.png
Home screen displayed by Samsung Nexus S with Google, running Android 2.3 "Gingerbread"
Company / developer Google Inc, Open Handset Alliance
Programmed in C (core),[1] Java (UI), C++
Working state Current
Source model Mixed (free and open source software and proprietary software)[2][3]
Initial release 23 September 2008 (2008-09-23)
Latest stable release
Tablets: 3.2.1 (Honeycomb)
Phones: 2.3.7 (Gingerbread) / 20 September 2011; 21 days ago (2011-09-20)
Package manager APK
Supported platforms ARM, MIPS,[4] x86[5]
Kernel type Linux kernel (monolithic)
Default user interface Graphical
License Apache License 2.0
(closed source for Android 3.x)
Linux kernel patches under GNU GPL v2[6]
Official website android.com
Android is an operating system for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance led by Google.[7][8]
Google purchased the initial developer of the software, Android Inc., in 2005.[9] The unveiling of the Android distribution on November 5, 2007 was announced with the founding of the Open Handset Alliance, a consortium of 84 hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.[10][11][12][13] Google released most of the Android code under the Apache License, a free software license.[14] The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.[15]
Android consists of a kernel based on the Linux kernel, with middleware, libraries and APIs written in C and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code.[16] Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. Developers write primarily in a customized version of Java.[17] There are currently more than 520,000 apps available for Android.[18][19] Apps can be downloaded from third-party sites or through online stores such as Android Market, the app store run by Google.
Android was listed as the best-selling smartphone platform worldwide in Q4 2010 by Canalys.[20][21]
Contents
[hide]
* 1 History
o 1.1 Foundation
o 1.2 Acquisition by Google
o 1.3 Post-acquisition development
o 1.4 Open Handset Alliance
o 1.5 Licensing
o 1.6 Version history
* 2 Design
o 2.1 Linux
o 2.2 Features
* 3 Uses
* 4 Applications
o 4.1 Android Market
o 4.2 Malware and security
o 4.3 Privacy
* 5 Marketing
o 5.1 Market share
o 5.2 Usage share
* 6 IP infringement claims
* 7 See also
* 8 References
* 9 External links
[edit] History
[edit] Foundation
Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin (co-founder of Danger),[22] Rich Miner (co-founder of Wildfire Communications, Inc.),[23] Nick Sears (once VP at T-Mobile),[24] and Chris White (headed design and interface development at WebTV)[25] to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences".[26] Despite the obvious past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[26]
That same year, Rubin ran out of cash. Steve Perlman brought him $10,000 in cash in an envelope and refused a stake in the company.[27]
[edit] Acquisition by Google
Google acquired Android Inc. in August 2005, making Android Inc. a wholly owned subsidiary of Google Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition.[23]
Not much was known about Android Inc. at the time of the acquisition, but many assumed that Google was planning to enter the mobile phone market with this move.[citation needed]
[edit] Post-acquisition development
At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the premise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.[28][29][30]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[31] Reports from the BBC and The Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset.[32] Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators.
In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.[33][34]
[edit] Open Handset Alliance
Main article: Open Handset Alliance
Today's announcement is more ambitious than any single 'Google Phone' that the press has been speculating about over the past few weeks. Our vision is that the powerful platform we're unveiling will power thousands of different phone models.
Eric Schmidt, former Google Chairman/CEO[12]
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 Instruments unveiled itself. The goal of the Open Handset Alliance is to develop open standards for mobile devices.[12] 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.[12]
On December 9, 2008, 14 new members joined, including ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Huawei Technologies, PacketVideo, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Plc.[35][36]
[edit] Licensing
With the exception of brief update periods, Android has been available under a free and open source software license since October 21, 2008 until March 2011.[37] Google published the entire source code (including network and telephony stacks)[38] under an Apache License.[39] Google also keeps the reviewed issues list publicly open for anyone to see and comment.[40]
Even though the software is open source, device manufacturers cannot use Google's Android trademark unless Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this definition to be eligible to license Google's closed-source applications, including the Android Market.[41]
In September 2010, Skyhook Wireless filed a lawsuit against Google in which they alleged that Google had used the compatibility document to block Skyhook's mobile positioning service (XPS) from Motorola's Android mobile devices.[42] In December 2010 a judge denied Skyhook's motion for preliminary injunction, saying that Google had not closed off the possibility of accepting a revised version of Skyhook's XPS service, and that Motorola had terminated their contract with Skyhook because Skyhook wanted to disable Google's location data collection functions on Motorola's devices, which would have violated Motorola's obligations to Google and its carriers.[43]
In early 2011, Google chose to withhold the Android source code to the tablet-only Honeycomb release, creating a controversy over Google's commitment to open source with Android.[37] The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,[44] and they did not want third parties creating a "really bad user experience" by attempting to put onto smartphones a version of Android intended for tablets.[45] Google later confirmed that the Honeycomb source code would not be released until after it was merged with the Gingerbread release in Ice Cream Sandwich.[46]
One of the criticisms often levied against Android is that it is not as open as Google claims. A mid-2009 Google strategy briefing included phrases such as "Do not develop in the open. Instead, make source code available after innovation is complete".[47] The documents also seem to suggest that preferential treatment should be given specifically to Motorola Mobility and Verizon Wireless for being the first to develop Android phones to Google specifications. In an internal email, dated Aug. 6, 2010, Dan Morrill, a manager in the Android group, noted in passing that it was obvious to the phone makers that "we are using compatibility as a club to make them do things we want."[48]
In a July 2011 research into open source projects, Android was found to be the most "closed" platform scoring significantly lower in an "openness" index.[49] The other projects examined were Qt, Symbian, MeeGo, Mozilla, WebKit, Linux and Eclipse.
[edit] Version history
Main article: Android version history
Android has seen a number of updates since its original release, each fixing bugs and adding new features. Each version is named, in alphabetical order, after a dessert.[50]
Recent releases
* 2.3 Gingerbread refined the user interface, improved the soft keyboard and copy/paste features, improved gaming performance, SIP support (VoIP calls), and added support for Near Field Communication. Android 2.3 Gingerbread is the latest Android version that is available to phones.[51]
* 3.0 Honeycomb was a tablet-oriented[52][53][54] release which supports larger screen devices and introduces many new user interface features, and supports multicore processors and hardware acceleration for graphics.[55] The Honeycomb SDK has been released and the first device featuring this version, the Motorola Xoom tablet, went on sale in February 2011.[56]
* 3.1 Honeycomb was announced at the 2011 Google I/O on 10 May 2011. One feature focuses on allowing Honeycomb devices to directly transfer content from USB devices.[57]
* 3.2 Honeycomb released at July 15 2011, is "an incremental release that adds several new capabilities for users and developers". Highlights include optimization for a broader range of screen sizes; new "zoom-to-fill" screen compatibility mode; capability to load media files directly from the SD card; and an extended screen support API, providing developers with more precise control over the UI. Android 3.2 Honeycomb is the latest Android version that is available to tablets.[58]
Future releases
* Ice Cream Sandwich is said to be a combination of Gingerbread and Honeycomb into a "cohesive whole".[50] In September 2011, Eric Schmidt stated that Ice Cream Sandwich "is being released in October/November."[59]
[edit] Design
[edit] Linux
Android's kernel is a fork of the Linux kernel but has further architecture changes by Google outside the typical Linux kernel development cycle.[60] For example Android does not have a native X Window System nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[61]
Certain features Google contributed back to the kernel, notably a power management feature called wakelocks, were rejected by mainline kernel developers, partly because kernel maintainers felt that Google did not show any intent to maintain their own code.[62][63][64] Even though Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[65] Greg Kroah-Hartman, the current Linux kernel maintainer for the -stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux.[63] Some Google Android developers hinted that "the Android team was getting fed up with the process", because they were a small team and had more urgent work to do on Android.[66]
However, in September 2010 Linux kernel developer Rafael J. Wysocki added a patch that improved the mainline Linux wakeup events framework. He said that Android device drivers that use wakelocks can now be easily merged into mainline Linux, but that Android's opportunistic suspend features should not be included in the mainline kernel.[67][68] In 2011 Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years."[69]
[edit] Features
The Android Emulator default home screen (v1.5)
Architecture diagram
Current features and specifications:[70][71][72]
Handset layouts
The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts.
Storage
SQLite, a lightweight relational database, is used for data storage purposes.
Connectivity
Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
Messaging
SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud To Device Messaging Framework (C2DM) is also a part of Android Push Messaging service.
Multiple language support
Android supports multiple human languages. The number of languages more than doubled for the platform 2.3 Gingerbread.[citation needed]
Web browser
The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 95/100 on the Acid3 Test.
Java support
While most Android applications are written in Java, there is no Java Virtual Machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on Dalvik, a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.
Media support
Android supports the following audio/video/still media formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF, BMP.[72]
Streaming media support
RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5
No comments:
Post a Comment