Sunday, October 6, 2013

about android

Android is a Linux-based operating system[11] designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005,[12] Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.[13] The first Android-powered phone was sold in October 2008.[14]
Android is open source and Google releases the code under the Apache License.[11] This open-source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language.[15] In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion.[16][17] A developer survey conducted in April–May 2013 found that Android is the most popular platform for developers, used by 71% of the mobile developer population.[18]
These factors have contributed towards making Android the world's most widely used smartphone platform,[19] overtaking Symbian in the fourth quarter of 2010,[20] and the software of choice for technology companies who require a low-cost, customizable, lightweight operating system for high tech devices without developing one from scratch.[21] As a result, despite being primarily designed for phones and tablets, it has seen additional applications on televisions, games consoles, digital cameras and other electronics. Android's open nature has further encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users[22] or bring Android to devices which were officially released running other operating systems.
Android's share of the global smartphone market, led by Samsung products, was 64% in March 2013.[23] In July 2013 there were 11,868 models of Android device, scores of screen sizes and eight OS versions simultaneously in use.[24] The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.[25][26] As of May 2013, 48 billion apps have been installed from the Google Play store,[27][28] and as of September 3, 2013, 1 billion Android devices have been activated.


Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger),[30] Rich Miner (co-founder of Wildfire Communications, Inc.),[31] Nick Sears[32] (once VP at T-Mobile), and Chris White (headed design and interface development at WebTV)[12] to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences".[12] The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile (Apple's iPhone had not been released at the time).[33] Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[12] That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.[34]
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.[12] Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move.[12] 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 promise 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.[35][36][37]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[38] 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. 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.[39][40]
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices.[13] That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.[13] The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008.[41]
In 2010, Google launched its Nexus series of devices—a line of smartphones and tablets running the Android operating system, and built by a manufacturer partner. HTC collaborated with Google to release the first Nexus smartphone,[42] the Nexus One. The series has since been updated with newer devices, such as the Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features. On March 13, 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved from the Android division to take on new projects at Google.[43] He was replaced by Sundar Pichai, who also continues his role as the head of Google's Chrome division,[44] which develops Chrome OS.
Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest released version is 4.3 Jelly Bean; however, version 4.4 KitKat was announced on September 3, 2013.[45][46]


Interface

Android's user interface is based on direct manipulation,[47] using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.[47] The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.[48]
Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen.[49] A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes. Third party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone.[50] Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from their competitors.[51]
Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that does not immediately interrupt or inconvenience the user.[52] In early versions of Android these notifications could be tapped to open the relevant app, but recent updates have provided enhanced functionality, such as the ability to call a number back directly from the missed call notification without having to open the dialer app first.[53] Notifications are persistent until read or dismissed by the user.


Applications


Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application's APK file from a third-party site.[54] The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google's compatibility requirements.[55] The app filters the list of available applications to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons.[56] Purchases of unwanted applications can be refunded within 15 minutes of the time of download,[57] and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user's monthly bill.[58] As of September 2012, there were more than 675,000 apps available for Android, and the estimated number of applications downloaded from the Play Store was 25 billion.[59]
Applications are developed in the Java language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools,[60] including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. Other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.
In order to work around limitations on reaching Google services due to Internet censorship in the People's Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.[61]

Development

Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly.[62] This source code will only run without modification on select devices, usually the Nexus series of devices.[63] With others, there are proprietary binaries which have to be provided by the manufacturer in order for Android to work.[64] The green Android logo was designed by graphic designer Irina Blok.[65][66][67]

Linux

Architecture diagram
Android consists of a kernel based on Linux kernel version 3.x (version 2.6 prior to Android 4.0 Ice Cream Sandwich), 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 Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode.[68] The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android-x86 project,[6] and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series.[69] In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.[70]
Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[71] Android does not have a native X Window System by default 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.[72] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[73] like, for example, in the Jagged Alliance 2 port for Android.[74]
Certain features that Google contributed back to the Linux kernel, notably a power management feature called "wakelocks", were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code.[75][76][77] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[78] but 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.[76] 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.[79]
In August 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".[80] In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3.[81] Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop).[82] Google maintains a public code repository that contains their experimental work to re-base Android off the latest stable Linux versions.[83][84]
The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations.[85] In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open-source community to enhance the capabilities of their devices,[86] but also by malicious parties to install viruses and malware.[87]
Whether or not Android counts as a Linux distribution is a widely debated topic, with the Linux Foundation[88] and Chris DiBona,[89] Google's open-source chief, in favour. Others, such as Google engineer Patrick Brady disagree, noting the lack of support for many GNU tools, including glibc, in Android.[90]

Memory management

Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory – while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.[91]
Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves.[92] However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.[93]

Update schedule


See also: Android version history Google provides major updates, incremental in nature, to Android every six to nine months, which most devices are capable of receiving over the air.[94] The latest major update is Android 4.3 Jelly Bean.[95]
Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released.[96] This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus devices. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[96] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update. This problem is compounded when manufacturers customize Android with their own interface and apps, which must be reapplied to each new release. Additional delays can be introduced by wireless carriers who, after receiving updates from manufacturers, further customize and brand Android to their needs and conduct extensive testing on their networks before sending the update out to users.[96]
The lack of after-sale support from manufacturers and carriers has been widely criticized by consumer groups and the technology media.[97][98] Some commentators have noted that the industry has a financial incentive not to update their devices, as the lack of updates for existing devices fuels the purchase of newer ones,[99] an attitude described as "insulting".[98] The Guardian has complained that the complicated method of distribution for updates is only complicated because manufacturers and carriers have designed it that way.[98] In 2011, Google partnered with a number of industry players to announce an "Android Update Alliance", pledging to deliver timely updates for every device for 18 months after its release.[100] As of 2013, this alliance has never been mentioned since.[96]
To combat this, Google began updating many of its services, including Google Maps and Google Play Music independently of Android itself through Google Play Services, a system-level component providing APIs for Google services, which is installed automatically and updated directly by Google, and supports nearly all devices running version 2.2 and higher.[101]


Open-source community

Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system.[102] These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance;[22] provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor.[103] CyanogenMod is the most widely used community firmware,[104] and acts as a foundation for numerous others.
Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this.[105] Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices,[106] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[105] Motorola,[107] Samsung[108][109] and Sony,[110] providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so.[105] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[111]
The unlocking and "hackability" of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.[111]


Security and privacy


Permissions are used to control a particular application's access to system functions.
Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed. Before installing an application, the Play Store displays all required permissions: a game may need to enable vibration or save data to an SD card, for example, but should not need to read SMS messages or access the phonebook. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept.[112] The sandboxing and permissions system lessens the impact of vulnerabilities and bugs in applications, but developer confusion and limited documentation has resulted in applications routinely requesting unnecessary permissions, reducing its effectiveness.[113] Several security firms, such as Lookout Mobile Security,[114] AVG Technologies,[115] and McAfee,[116] have released antivirus software for Android devices. This software is ineffective as sandboxing also applies to such applications, limiting their ability to scan the deeper system for threats.[117]
Research from security company Trend Micro lists premium service abuse as the most common type of Android malware, where text messages are sent from infected phones to premium-rate telephone numbers without the consent or even knowledge of the user.[118] Other malware displays unwanted and intrusive adverts on the device, or sends personal information to unauthorised third parties.[118] Security threats on Android are reportedly growing exponentially; however, Google engineers have argued that the malware and virus threat on Android is being exaggerated by security companies for commercial reasons,[119][120] and have accused the security industry of playing on fears to sell virus protection software to users.[119] Google maintains that dangerous malware is actually extremely rare,[120] and a survey conducted by F-Secure showed that only 0.5% of Android malware reported had come from the Google Play store.[121]
Google currently uses their Google Bouncer malware scanner to watch over and scan the Google Play store apps.[122] It is intended to flag up suspicious apps and warn users of any potential issues with an application before they download it.[123] Android version 4.2 Jelly Bean was released in 2012 with enhanced security features, including a malware scanner built into the system, which works in combination with Google Play but can scan apps installed from third party sources as well, and an alert system which notifies the user when an app tries to send a premium-rate text message, blocking the message unless the user explicitly authorises it.[124]
Android smartphones have the ability to report the location of Wi-Fi 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 smartphones, allowing them to run apps like Foursquare, Google Latitude, Facebook Places, and to deliver location-based ads.[125] Third party monitoring software such as TaintDroid,[126] an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers.[127] In August 2013, Google released the Android Device Manager, a component that allows users to remotely track, locate, and wipe their Android device through an online interface. As it is implemented through Google Play Services instead of within Android itself, it is available to most Android devices with version 2.2 and higher.[101][128]
The open-source nature of Android allows security contractors to take existing devices and adapt them for highly secure uses. For example Samsung has worked with General Dynamics through their Open Kernel Labs acquisition to rebuild Jelly Bean on top of their hardened microvisor for the "Knox" project.[129][130]
As part of the broader 2013 mass surveillance disclosures it was revealed in September 2013 that the American and British intelligence agencies, the NSA and Government Communications Headquarters (GCHQ) respectively, have access to the user data in iPhones, Blackberries, and Android phones. They are able to read almost all smartphone information, including SMS, location, emails, and notes.[131]


Platform usage

This chart provides data about the relative number of devices accessing the Play Store recently and running a given version of the Android platform as of October 2, 2013.[171]
Version Code name Release date API level Distribution
4.4 KitKat TBA TBA 0%
4.3 Jelly Bean July 24, 2013 18 1.5%
4.2.x Jelly Bean November 13, 2012 17 10.6%
4.1.x Jelly Bean July 9, 2012 16 36.5%
4.0.3–4.0.4 Ice Cream Sandwich December 16, 2011 15 20.6%
3.2 Honeycomb July 15, 2011 13 0.1%
3.1 Honeycomb May 10, 2011 12 0%
2.3.3–2.3.7 Gingerbread February 9, 2011 10 28.5%
2.3–2.3.2 Gingerbread December 6, 2010 9 0%
2.2 Froyo May 20, 2010 8 2.2%
2.0–2.1 Eclair October 26, 2009 7 0%
1.6 Donut September 15, 2009 4 0%
1.5 Cupcake April 30, 2009 3 0%


!!!!



No comments:

Post a Comment