Android (Operating System)
Android (Operating System)
Android (Operating System)
Home screen displayed by Samsung Nexus S with Google running Android 2.3 "Gingerbread" Company / Google Inc., developer Open Handset Alliance Programmed in XML, C (core),[1] Java (UI), C++ Working state Current Free and open source software (3.0 Source model is currently still closed source)[2] Initial release 21 October 2008 Tablets: 3.1 (Honeycomb)[3] Latest stable Phones: release 2.3.4 (Gingerbread) / 24 February 2011; 4 months ago[3] Supported ARM, MIPS,[4] x86[5][citation needed]
Apache 2.0, Linux kernel patches are under GPL v2[6] Official website android.com Android is a software stack for mobile devices that includes an operating system, middleware and key applications.[7][8] Google Inc. purchased the initial developer of the software, Android Inc., in 2005.[9] Android's mobile operating system is based on the Linux kernel. Google and other members of the Open Handset Alliance collaborated on Android's development and release.[10][11] The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.[12] The Android operating system is currently the world's best-selling Smartphone platform.[13][14] Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. There are currently over 200,000 apps available for Android.[15][16] Android Market is the online app store run by Google, though apps can also be downloaded from third-party sites. Developers write primarily in the Java language, controlling the device via Google-developed Java libraries.[17] The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices.[18][19] Google released most of the Android code under the Apache License, a free software and open source license.[20] The Android open-source software stack consists of Java applications running on a Java-based, objectoriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore[21] media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc.
History
Android Inc. founded in 2003
Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy Rubin (cofounder 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 secretively, revealing only that it was working on software for mobile phones.[26]
Development accelerates
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.[27][28][29] Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[30] 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.[31] 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.[32][33]
Licensing
With the exception of brief update periods, Android has been available under a free software/open source license since October, 21 2008. Google published the entire source code (including network and telephony stacks)[36] under an Apache License.[37] Google also keeps the reviewed issues list publicly open for anyone to see and comment.[38] 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.[39] 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.[40] 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.[41]
In early 2011 Google chose to temporarily withhold the source code to the tablet-only Honeycomb release, which called into question the "open-ness" of this Android release[42]. The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,[43] and they didn't want third parties creating a "really bad user experience" by attempting to put onto smartphones a version of Android intended for tablets.[44] 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.[45].
Version history
Main article: Android version history Android has seen a number of updates since its original release. These updates to the base operating system typically fix bugs and add new features. Generally, each new version of the Android operating system is developed under a code name based on a dessert item. Past updates included Cupcake and Donut. The code names are in alphabetical order (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, and the upcoming Ice Cream Sandwich). The most recently released versions of Android are:
2.0/2.1 (Eclair), which revamped the user interface and introduced HTML5, W3C Geolocation API and Exchange ActiveSync 2.5 support[46] 2.2 (Froyo), which introduced speed improvements with JIT optimization and the Chrome V8 JavaScript engine, and added Wi-Fi hotspot tethering and Adobe Flash support[47] 2.3 (Gingerbread), which refined the user interface, improved the soft keyboard and copy/paste features, and added support for Near Field Communication[48] 3.0/3.1 (Honeycomb), a tablet-oriented[49][50][51] release which supports larger screen devices and introduces many new user interface features, and supports multicore processors and hardware acceleration for graphics.[52] The Honeycomb SDK has been released and the first device featuring this version, the Motorola Xoom tablet, went on sale in February 2011.[53] The 3.1 update was announced at the 2011 Google I/O on 10 May 2011.[54] 3.2 (Honeycomb), which is similar to 3.1 but optimized for 7-inch tablets.[55]
4.0 (Ice Cream Sandwich),[56] a combination of Gingerbread and Honeycomb into a "cohesive whole."[57] It was announced on May 10, 2011 at Google I/O that it will be released in Q4 2011.[58]
Features
Current features and specifications The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts. SQLite, a lightweight relational database, is used for data storage purposes
Handset layouts
Storage
Connectivity
Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EVDO, UMTS, Bluetooth, Wi-Fi (no connections through Proxy server[62] and no Ad hoc wireless network[63]), LTE, NFC and WiMAX. 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 languages are available on Android. The number of languages more than doubled for the platform 2.3 Gingerbread. Android lacks font rendering of several languages even after official announcements[citation needed] of added support (e.g. Hindi).
Messaging
The web browser available in Android is based on the open-source WebKit layout engine, Web browser coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test. 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 Java support executables and run on the Dalvik virtual machine. Dalvik is 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. 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 Media support (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF (though earlier versions do not support animated GIFs,[64] BMP.[61] RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Streaming media Flash plugin.[65] Apple HTTP Live Streaming is supported by RealPlayer for Mobile,[66] and support by the operating system in Android 3.0 (Honeycomb).[52] Microsoft Smooth Streaming is planned to be supported through the awaited port of Silverlight plugin to Android. Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics. Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time).[67] Google has since released an update for the Nexus One and the Motorola Droid which enables multitouch natively.[68]
Multi-touch
Bluetooth
Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Keyboard, mouse and joystick (HID) support is available through manufacturer customizations and third-party applications. Full HID support is planned for Android 3.0 (Honeycomb).[52] Android does not provide native video calling support, but some handsets have a customized version of the operating system that support it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 and later. Multitasking of applications is available.[69] Google search through voice has been available since initial release.[70] Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.[71] Android supports tethering, which allows a phone to be used as a wireless/wired hotspot. Prior to Android 2.2 this was supported by third-party applications or manufacturer customizations.[72] Android does not currently support screenshot capture. This is supported by manufacturer and third-party customizations.[73]
Video calling
Tethering
Screen Capture
Applications
See also: List of open source Android applications
Android Market is the online software store developed by Google for Android devices. An application program ("app") called "Market" is preinstalled on most Android devices and allows users to browse and download apps published by third-party developers, hosted on Android Market. As of December 2010 there were about 200,000 games, applications and widgets available on the Android Market.[81] In April 2011 Google said there had been over 3 billion Android apps installed.[82] Only devices that comply with Google's compatibility requirements are allowed to preinstall Google's closedsource Android Market app and access the Market.[83] The Market filters the list of applications presented by the Market app to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons. [84] Users can also install apps directly using APK files, or from alternative app markets. Unlike Apple, Google allows independent app stores to operate for Android.[85]
[edit] Security
In May 2011, researchers at University of Ulm publicized a security flaw, present in all Android devices running AndroidOS 2.3.3 and earlier versions (more than 99% of all Android devices worldwide), that affects all Google services using the ClientLogin authentication protocol (such as authentication tokens widely used by eBay and other online services) and allows hackers to access any personal data available through Android's application programming interfaces (APIs), thus stealing the user's digital credentials over open wireless networks. In response, Google announced a fix that would be rolled out transparently to the user.[87] In March 2011, Google pulled 58 malicious apps from the Android Market, but not before the 58 apps were downloaded to around 260,000 devices.[88] These apps were malicious applications in the Android Market which contained trojans hidden in pirated versions of legitimate apps.[89] The malware (called DroidDream) exploited a bug which was present in versions of Android older than 2.2.2.[90] Android device manufacturers and carriers work in tandem to distribute Android based updates and had not uniformly issued patches to their customers for the DroidDream exploit, leaving users vulnerable.[91] Google said the exploit allowed the apps to gather device specific information, as well as personal information. The exploit also allowed the apps to download additional code that could be run on the device.[92] Within days, Google remotely wiped the apps from infected users and rolled out an update that would negate the exploits that allowed the apps to view information. They also announced that they would be resolving the issue to ensure that events like this did not
occur again.[93] Security firms such as AVG Technologies and Symantec have released antivirus software for Android devices. In August 2010, an SMS Trojan called Trojan-SMS.AndroidOS.FakePlayer.a infected a number of mobile devices, according to security firm Kaspersky Lab. Disguised as a harmless media player application, the trojan, once installed sends out SMS text messages without the users knowledge or consent. According to Denis Maslennikov, Senior Malware Researcher at Kaspersky Lab, there's not an exact number of infected devices available at present, but the outbreak is currently regional. For now, only Russian Android users can actually lose money after installing the Trojan, but anyone can be infected.[94] Android users were advised not to use the Android web browser until Google issues a security patch. The Android Security Team responded and developed a fix on February 5 and patched Open Source Android two days later.
Marketing
The Android logo was designed along with the Droid font family made by Ascender Corporation.[97] Android Green is the color of the Android Robot that represents the Android operating system. The print color is PMS 376C and the RGB color value in hexadecimal is #A4C639, as specified by the Android Brand Guidelines.[98] The custom typeface of Android is called Norad. It is only used in the text logo.
Market share
Research company Canalys estimated in Q2 2009 that Android had a 2.8% share of worldwide smartphone shipments.[100] By Q4 2010 this had grown to 33% of the market, becoming the top-selling smartphone platform. This estimate includes the Tapas and OMS variants of Android.[13]
In February 2010 ComScore said the Android platform had 9.0% of the U.S. smartphone market, as measured by current mobile subscribers. This figure was up from an earlier estimate of 5.2% in November 2009.[101] By the end of Q3 2010 Android's U.S. market share had grown to 21.4 percent.[102] In May 2010, Android's first quarter U.S. sales surpassed that of the rival iPhone platform. According to a report by the NPD group, Android achieved 25% smartphone sales in the US market, up 8% from the December quarter. In the second quarter, Apple's iOS was up by 11%, indicating that Android is taking market share mainly from RIM, and still has to compete with heavy consumer demand for new competitor offerings.[103] Furthermore, analysts pointed to advantages that Android has as a multi-channel, multi-carrier OS, which allowed it to duplicate the quick success of Microsoft's Windows Mobile.[104] As of June 2011 Google said that 500,000 new Android devices were being activated every dayup from 400,000 per day just two months earlier in May 2011 -and more than 100 million devices have been activated. Android hit 300,000 activations per day back in December 2010. In June 28, 2011 500,000 Android devices are now activated by Google each day with growth 4.4 percent per week.[15][105][106]
Usage share
Version API level Distribution 3.x.x Honeycomb 11 0.9% 2.3.x Gingerbread 10 18.6% 2.2.x Froyo 8 59.4% 2.0.x/2.1.x Eclair 7 17.5% 1.6 Donut 4 2.2% 1.5 Cupcake 3 1.4%
Linux compatibility
Android's kernel is derived from the Linux kernel. Google contributed code to the Linux kernel as part of their Android effort, but certain features, notably a power management feature called wakelocks, were rejected by mainline kernel developers, so the Android kernel is now a separate version or fork of the Linux kernel.[107][108]
[109]
Google announced in April 2010 that they would hire two employees to work with the Linux kernel community.[110] 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.[111] 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.[112] 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 GNU/Linux applications or libraries to Android.[113] However, support for the X Window System is possible.[114]
Specifically the patent infringement claim references seven patents including United States Patent No. 5,966,702, entitled "Method And Apparatus For Preprocessing And Packaging Class Files," and United States Patent No. 6,910,205, entitled "Interpreting Functions Utilizing A Hybrid Of Virtual And Native Machine Instructions."[116] It also references United States Patent No. RE38,104, ("the '104 patent") entitled Method And Apparatus For Resolving Data References In Generated Code authored by James Gosling, best known as the father of the Java programming language,[117] and currently a Google employee.[118] In response Google submitted multiple lines of defense, saying that Android did not infringe on Oracle's patents or copyright, that Oracle's patents were invalid, and several other defenses. They said that Android is based on Apache Harmony, a clean room implementation of the Java class libraries, and an independently developed virtual machine called Dalvik.[119][120][121] The Free Software Foundation has called this suit a "clear attack against someone's freedom to use, share, modify, and redistribute software."[122] However, the FSF also criticized Google, saying that Google could have avoided the suit by building Android on top of IcedTea, whose GPL license provides some protection against patents, instead of implementing it independently under the Apache License. The FSF wrote "It's sad to see that Google apparently shunned those protections in order to make proprietary software development easier on Android." and remarked that Google had not taken any clear position or action against software patents. In 2010, Microsoft started demanding licensing fees from hardware manufacturers shipping Android, claiming that the operating system infringes on a number of patents owned by Microsoft. Microsoft signed deals with HTC Corporation and others, and filed patent infringement lawsuits against Barnes & Noble and Motorola.[123]