Android (operating system)
From Wikipedia, the free encyclopedia
ANDROID:
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.[8][9]
Google purchased the initial developer of the software, Android Inc., in 2005.[10] The unveiling of the Android distribution on 5 November 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.[11][12][13][14] Google released most of the Android code under the Apache License, a free software license.[15] The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android.[16]
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.[17]
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.[18] There are currently more than 250,000 apps available for Android.[19][20] 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.
[21][22]
History
Foundation
Android, Inc. was founded in
Palo Alto, California, United States in October, 2003 by
Andy Rubin (co-founder of
Danger),
[23] Rich Miner (co-founder of Wildfire Communications, Inc.),
[24] Nick Sears (once VP at
T-Mobile),
[25] and Chris White (headed design and interface development at
WebTV)
[26] to develop, in Rubin's words "...smarter mobile devices that are more aware of its owner's location and preferences".
[27]
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.
[27]
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.
[28]
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.
[24]
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]
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.
[29][30][31]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.
[32] 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.
[33]
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.
[34][35]
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 Instruments unveiled itself. The goal of the Open Handset Alliance is to develop
open standards for mobile devices.
[13] 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.
[13]
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.
[36][37]
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.
[38] Google published the entire
source code (including network and telephony stacks)
[39] under an
Apache License.
[40] Google also keeps the reviewed issues list publicly open for anyone to see and comment.
[41]
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.
[42]
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.
[43]
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.
[44]
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.
[38] The reason, according to
Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,
[45]
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.
[46]
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.
[47]
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.
[48]
- Recent releases
- 2.0 Eclair included a new web browser, with a new user interface and support for HTML5 and the W3C Geolocation API. It also included an enhanced camera app with features like digital zoom, flash, color effects, and more.[49]
- 2.1 Eclair included support for voice controls throughout the
entire OS. It also included a new launcher, with 5 homescreens instead
of 3, animated backgrounds, and a button to open the menu (instead of a
slider). It also included a new weather app, and improved functionality
in the Email and Phonebook apps.[50]
- 2.2 Froyo introduced speed improvements with JIT optimization and the Chrome V8 JavaScript engine, and added Wi-Fi hotspot tethering and Adobe Flash support[51]
- 2.3 Gingerbread refined the user interface, improved the soft keyboard and copy/paste features, SIP support (VoIP calls), and added support for Near Field Communication[52]
- 3.0 Honeycomb was a tablet-oriented[53][54][55]
release which supports larger screen devices and introduces many new
user interface features, and supports multicore processors and hardware
acceleration for graphics.[56] The Honeycomb SDK has been released and the first device featuring this version, the Motorola Xoom tablet, went on sale in February 2011.[57]
- 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.[58]
- 3.2 Honeycomb 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.[59]
- Future releases
- Ice Cream Sandwich is said to be a combination of Gingerbread and Honeycomb into a "cohesive whole".[48] In September 2011, Eric Schmidt stated that Ice Cream Sandwich "is being released in October/November."[60]
Design
Linux
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.
[61][62][63]
In September 2010 Linux 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.
[64][65] 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."
[66]
Google announced in April 2010 that they would hire two employees to work with the Linux kernel community.
[67] 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.
[62]
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.
[68]
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.
[69]
Features
The Android Emulator default home screen (v1.5)
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 93/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 <video> tag). Adobe Flash
Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Flash
plugin.[73] Apple HTTP Live Streaming is supported by RealPlayer for Mobile,[74] and by the operating system in Android 3.0 (Honeycomb).[56]
- Additional hardware support
- 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.
- Multi-touch
- 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).[75] Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.[76]
- 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 in Android 3.1+, and in earlier versions through
manufacturer customizations and third-party applications.[77]
- Video calling
- Android does not support native video calling, but some handsets
have a customized version of the operating system that supports 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. Gingerbread allows Nexus S to place Internet calls with
a SIP account. This allows for enhanced VoIP dialing to other SIP
accounts and even phone numbers. Skype 2.1 offers video calling in
Android 2.3, including front camera support.
- Multitasking
- Multitasking of applications is available.[78]
- Voice based features
- Google search through voice has been available since initial release.[79] Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.[80]
- Tethering
- Android supports tethering, which allows a phone to be used as a wireless/wired Wi-Fi hotspot. Before Android 2.2 this was supported by third-party applications or manufacturer customizations.[81]
- Screen capture
- Android does not support screenshot
capture as of 2011. This is supported by manufacturer and third-party
customizations. Screen Capture is available through a PC connection
using the DDMS developer's tool.[82]
Uses
The Android operating system is used on
smartphones,
netbooks,
tablet computers,
Google TV, and other devices.
[83][84]
The main hardware platform for Android is the
ARM architecture. There is support for
x86 from the Android-x86 project,
[85] and Google TV uses a special x86 version of Android.
The first commercially available phone to run Android was the
HTC Dream, released on 22 October 2008.
[86] In early 2010 Google collaborated with
HTC to launch its flagship
[87] Android device, the
Nexus One. This was followed later in 2010 with the
Samsung-made
Nexus S.
iOS and Android 2.3.3 'Gingerbread' may be set up to dual boot on a
jailbroken iPhone or iPod Touch with the help of OpeniBoot and iDroid.
[88][89]
Applications
Applications are usually developed in the Java language using the
Android Software Development Kit, but other development tools are available, including a
Native Development Kit for applications or extensions in C or C++, and
Google App Inventor, a visual environment for novice programmers.
Android Market
Main article:
Android Market
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.
[90] In April 2011 Google said there had been more than 3 billion Android apps installed
[91]
and at end of June 2011 there are 6 billion apps installs from the
Android market. The operating system itself is installed on 130 million
total devices.
[92]
Only devices that comply with Google's compatibility requirements are
allowed to preinstall Google's closed-source Android Market app and
access the Market.
[93]
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.
[94]
Google has participated in the Android Market by offering several applications themselves, including
Google Voice
(for the Google Voice service), Sky Map (for watching stars), Finance
(for their finance service), Maps Editor (for their MyMaps service),
Places Directory (for their Local Search),
Google Goggles
that searches by image, Gesture Search (for using finger-written
letters and numbers to search the contents of the phone), Google
Translate, Google Shopper, Listen for podcasts and My Tracks, a jogging
application. In August 2010, Google launched "Voice Actions for
Android",
[95] which allows users to search, write messages, and initiate calls by voice.
Alternatively, users can install apps from third party app stores such as the
Amazon Appstore,
[96] or directly onto the device if they have the application's
APK file.
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.
[99]
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.
[21]
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] In Q4 2010 Android had 59% of the total installed user base of Apple's
iOS in the U.S. and 46% of the total installed user base of
iOS in Europe.
[105][106]
As of June 2011 Google said that 550,000 new Android devices were being activated every day
[107]—up from 400,000 per day two months earlier in May 2011, and more than 100 million devices have been activated.
[19]
Android hit 300,000 activations per day back in December 2010. In July
14, 2011 550,000 Android devices are now activated by Google each day
with growth 4.4 percent per week.
[108] On the 1st of August 2011
Canalys estimates Android has about 48% of the smartphone market share.
[109]
Usage share
- Version
| Distribution |
API level |
| 3.x.x Honeycomb |
11-13 |
1.4% |
| 2.3.x Gingerbread |
9-10 |
31.3% |
| 2.2 Froyo |
8 |
51.2% |
| 2.1 Eclair |
7 |
13.3% |
| 1.6 Donut |
4 |
1.8% |
| 1.5 Cupcake |
3 |
1.0% |
Criticism
Malware and security
In August 2010, an SMS Trojan called
Trojan-SMS.AndroidOS.FakePlayer.a infected a number of mobile devices
after users downloaded what they thought was a harmless media player
application, according to security firm
Kaspersky Lab.
Once the application is installed the trojan sends out SMS text
messages without the user's knowledge or consent. According to Denis
Maslennikov, Senior Malware Researcher at Kaspersky Lab, an exact number
of devices infected is not 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.
[110]
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, 2011 and patched Open Source Android two
days later.
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.
[111]
These apps were malicious applications in the Android Market which
contained trojans hidden in pirated versions of legitimate apps.
[112] The malware (called DroidDream) exploited a bug which was present in versions of Android older than 2.2.2.
[113]
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.
[114]
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.
[115]
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.
[116] Security firms such as
AVG Technologies and
Symantec have released "antivirus" software for Android devices.
In August 2011, the security firm Lookout estimated that between half
a million to one million Android users have been affected by
malicious software
in the first half of 2011. Lookout also reported that there was an
increase of applications infected with malware, from 80 to 400 in the
first six months of 2011.
[117]
Qihoo 360, a Chinese internet security firm, noted in a report that Android is the second largest mobile OS (behind
Symbian)
to be infected with malware within China. The report stated that
Android has become the new "malware hotspot" largely due to the
operating system's rise in popularity, and that there were 968 pieces of
new malware and trojans targeting Android during the first half of
2011, up from 12 Android-specific threats in 2010.
[118]
In August 2011, McAfee, the popular anti-virus maker reported that
Android was the most targeted mobile platform for malware during the
second quarter of the year.
[119]
Privacy
Android smartphones have the ability to report the location of Wi-Fi
access points it encounters as phone users move around to build vast
databases containing physical locations of hundreds of millions of such
access points. These databases form electronic maps to locate
smartphones, allowing them to run apps like
Foursquare and companies like Google to deliver location-based ads.
[120]
One design issue is that average users have no feasible ability to
monitor how downloaded applications access and use private and sensitive
data (e.g. location and hardware ID numbers). Even during installation,
permission checks do not often indicate to the user how critical
services and data will be used or misused. To identify how such
information may be exfiltrated there is a need for third party
monitoring software, such as TaintDroid
[121]
(an academic research-funded project). Installing such low-level
monitoring tools requires programming skills, reflashing the ROM, and
voids the warranty.
[122]
Users can also be notified of an application's behavior via a license
agreement that is usually (not always, due to lack of enforcement),
displayed on first use of the application but it is generally accepted
that majority of the users do not read or understand the legal fine
print in license agreements and often just skip and accept them.
IP infringement claims
In April 2009,
Oracle acquired
Sun Microsystems and its programming language
Java.
On 12 August 2010, Oracle sued Google over claimed infringement of
copyrights and patents. The lawsuit claims that, "In developing Android,
Google knowingly, directly and repeatedly infringed Oracle's
Java-related intellectual property".
[123]
Specifically, the patent infringement claim references seven United States patents including
US 5966702 "Method and apparatus for pre-processing and packaging class files", and
US 6910205 "Interpreting functions utilizing a hybrid of virtual and native machine instructions".
[124]
It also references US RE38,104 ("the '104 patent") “Method and
apparatus for resolving data references in generated code” authored by
James Gosling, best known as creator of the programming language Java,
[125] and was a Google employee in 2011, from April to August.
[126][127]
In response, Google submitted multiple lines of defense,
counterclaiming 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.
[128][129][130]
The
Free Software Foundation has called this suit a "clear attack against someone's freedom to use, share, modify, and redistribute software".
[131] However, the FSF also criticized Google, saying that Google could have avoided the suit by building Android atop
IcedTea, which
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
began demanding licensing fees from hardware manufacturers shipping
Android, claiming that the operating system infringes on several patents
owned by Microsoft. Microsoft signed deals with
HTC Corporation and others, and filed patent infringement lawsuits against
Barnes & Noble and
Motorola.
[132]
See also