Android Mobile Operating System: Seminar Report On
Android Mobile Operating System: Seminar Report On
On
ANDROID MOBILE OPERATING SYSTEM
Submitted by:
Ravika Batra
I.T. III year
Univ. Roll No.-0806313037
The unveiling of the Android distribution on 5 November 2007 was announced with the
founding of the Open Handset Alliance, a consortium of 80hardware, software,
and telecom companies devoted to advancing open standards for mobile devices. google
released most of the Android code under the Apache License, a free software and open source
license.
Contents
1 History
o 1.1 Android Inc. founded in 2003
o 1.2 Android Inc. acquired by Google
o 1.3 Development accelerates
o 1.4 Open Handset Alliance
o 1.5 Licensing
o 1.6 Version history
2 Features
3 Hardware running Android
4 Software development
o 4.1 Android Market
o 4.1.1 History
4.1.2Priced applications
o 4.1.1.1 Availability for users
o 4.1.2 .2Availability for
developers
4.1. 3.Banned applications
4.1.4. Implementation details
4.1. 5.Application security
4.1. 6.Known issues
History
Android Inc. founded in 2003
Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andy
Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications,
Inc.), Nick Sears (once VP at T-Mobile), and Chris White (headed design and interface
development at WebTV) to develop, in Rubin's words "...smarter mobile devices that are
more aware of its owner's location and preferences." Despite the obvious past
accomplishments of the founders and early employees, Android Inc. operated secretively,
admitting only that it was working on software for mobile phones.
Android Inc. acquired 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.
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.
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.
Speculation about Google's intention to enter the mobile communications market continued
to build through December 2006. 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-brandedhandset. Some speculated that as Google was defining technical
specifications, it was showing prototypes to cell phone manufacturers and network operators.
Even though the software is open-source, device manufacturers can not 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 Android Market.
The version history of the Android operating system began with the release of version 1.0
in September 2008. Android is a mobile operating system developed by Google and the Open
Handset Alliance. 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
version is developed under a code name based on a dessert item. The code names are in
alphabetical order, as seen by Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, and
the future version, Ice Cream Sandwich.
Beta
1.0
On 9 February 2009, Android 1.1 update for Android was released for T-Mobile G1 Only.
Included in the update were resolved issues, API changes and:
Maps: Adds details and reviews when a user does a search on Maps and clicks on a
business to view its details.
Dialer: In-call screen timeout default is now longer when using the speakerphone,
Show/Hide Dialpad
Messaging: Saving attachments
System: Adds support for marquee in layouts.
1.5 (Cupcake)
The Android Emulator default home screen (v1.5).
Based on Linux kernel 2.6.27. On 30 April 2009, the official 1.5 (Cupcake) update for
Android was released. There were several new features and UI updates included in the 1.5
update:
Virtual keyboard: Support for 3rd party keyboards with text prediction & user
dictionary for custom words
Widgets: Are miniature application views that can be embedded in other applications
(such as the Home screen) and receive periodic updates[15]
Camera: Video recording
Gallery: Video playback (MPEG-4 & 3GP formats)
Bluetooth: Stereo support added (A2DP and AVRCP profiles), Auto-pairing
Browser: Copy and paste features added
Contacts: Shows user picture for Favorites
Dialer: Specific date/time stamp for events in call log and one-touch access to a
contact card from call log event
System: Animated screen transitions
Upload videos to YouTube
Upload photos on Picasa
1.6 (Donut)
Based on Linux kernel 2.6.29.On 15 September 2009, the 1.6 (Donut) SDK was released.
Included in the update were:
Search: Voice Search & text entry search enhanced to include bookmarks & history,
contacts, the web, and more
Search: Developers can now include their content in search results
Text to speech: Features a multi-lingual speech synthesis engine to allow any Android
application to "speak" a string of text
Android Market: Allows easier searching, app screenshots, etc.
Camera, camcorder, and Gallery: Updated integrated with faster camera access
Gallery: Now enables users to select multiple photos for deletion
System: Updated technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-
speech engine
Display: Support for WVGA screen resolutions
Speed improvements in searching and camera applications
Expanded Gesture framework and new Gesture Builder development tool
Google free turn-by-turn navigation
2.0 / 2.1 (Eclair)
HTC Desire
Based on Linux kernel 2.6.29 On 26 October 2009, the 2.0 (Eclair) SDK was
released. Changes included:
Sync: Expanded Account sync. Multiple accounts can be added to a device for email
and contact synchronization
Email: Exchange support, Combined inbox to browse email from multiple accounts in
one page.
Bluetooth: 2.1 support
Contacts: Tap a contact photo and select to call, SMS, or email the person.
Messaging: Search all saved SMS and MMS messages. Auto delete oldest messages
in a conversation when a defined limit is reached.
Camera: Flash support, Digital zoom, Scene mode, White balance, Color effect,
Macro focus
Virtual keyboard: Improved typing speed, smarter dictionary learns from word usage
and includes contact names as suggestions.
Browser: Refreshed UI, Bookmark thumbnails, Double-tap zoom, Support for
HTML5
Calendar: Agenda view enhanced, Attending status for each invitee, Invite new guests
to events.
System: Optimized hardware speed, Revamped UI
Display: Support for more screen sizes and resolutions, Better contrast ratio
Maps: Improved Google Maps 3.1.2
MotionEvent class enhanced to track multi-touch events
Live Wallpapers: Home screen background images can be animated to show
movement
The 2.0.1 SDK was released on 3 December 2009.
2.2 (Froyo)
LG Optimus One
2.2.2 latest release. Based on Linux kernel 2.6.32. On 20 May 2010, the 2.2 (Froyo) SDK was
released. Changes included:
Nexus S
2.3.4 latest release. Based on Linux kernel 2.6.35. On 6 December 2010, the 2.3
(Gingerbread) SDK was released.] Changes included:
Motorola Xoom tablet
3.01 latest release. Based on Linux kernel 2.6.36. On 22 February 2011 the 3.0 (Honeycomb)
SDK was released for tablets. This is a tablet-only release of Android. The first device
featuring this version, theMotorola Xoom tablet, was released on February 24, 2011.
Changes include:
Optimized tablet support with a new virtual and “holographic” user interface
System Bar: Quick access to notifications, status, and soft navigation buttons
available at the bottom of the screen.
Action Bar: Access to contextual options, navigation, widgets, or other types of
content at the top of the screen.
Multitasking: Tap Recent Apps in the System Bar, to see snapshots of the tasks
underway and quickly jump from one app to another.
Redesigned keyboard: To make entering text fast and accurate on larger screen sizes
with greater accuracy and efficiency
Copy/Paste: Simplified, more intuitive.
Browser: Multiple tabs replace browser windows, form auto-fill, and a new
“incognito” mode allows anonymous browsing.
Camera: Quick access to exposure, focus, flash, zoom, front-facing camera, time-
lapse, and more.
Gallery: View albums and other collections in full-screen mode, with easy access to
thumbnails for other photos.
Contacts: New two-pane UI and Fast Scroll to let users easily organize and locate
contacts.
Email: New two-pane UI to make viewing and organizing messages more efficient.
The app lets users select one or more messages.
Support for video chat using Google Talk
Hardware acceleration
Support for multi-core processors
Features
Current features and specifications:
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 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.
The mainstream Android version does not support video calling, but some
handsets have a customized version of the operating system which supports it,
Video calling either via UMTS network (like the Samsung Galaxy S) or over IP. Video
calling through Google Talk is planned for Android 3.0 (Honeycomb).
Android 3.3.4 has added Video calling through Google Talk.
Google search through Voice has been available since initial release.[65] Voice
Voice based
actions for calling, texting, navigation, etc. are supported on Android 2.2
features
onwards.[66]
The Android OS can be used as an operating system for cellphones, netbooks and tablets,
including the Dell Streak, Samsung Galaxy Tab, TV and other devices. The first
commercially available phone to run the Android operating system was the HTC Dream,
released on 22 October 2008. In early 2010 Google collaborated with HTC to launch its
flagship Android device, the Nexus One. This was followed later in 2010 with the Samsung-
made Nexus S.
The smartphone IVIO Icon Pro (DE88) has 2 card slots support CDMA 1xEV-DO along with
GSM/GPRS/EDGE networks simultaneously. The operating system is Android 2.2 Froyo and
upgradable to Android 2.3 Gingerbread.
Software development
The early feedback on developing applications for the Android platform was mixed. Issues
cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issue-
tracking system. (Google announced an issue tracker on 18 January 2008.) In December
2007, MergeLab mobile startup founder Adam MacBeth stated, "Functionality is not there, is
poorly documented or just doesn't work... It's clearly not ready for prime time."[77] Despite
this, Android-targeted applications began to appear the week after the platform was
announced. The first publicly available application was the Snake game.[78][79] TheAndroid
Dev Phone is a SIM-unlocked and hardware-unlocked device that is designed for advanced
developers. While developers can use regular consumer devices purchased at retail to test and
use their applications, some developers may choose not to use a retail device, preferring an
unlocked or no-contract device.
A preview release of the Android SDK was released on 12 November 2007. On 15 July 2008,
the Android Developer Challenge Team accidentally sent an email to all entrants in the
Android Developer Challenge announcing that a new release of the SDK was available in a
"private" download area. The email was intended for winners of the first round of the
Android Developer Challenge. The revelation that Google was supplying new SDK releases
to some developers and not others (and keeping this arrangement private) led to widely
reported frustration within the Android developer community at the time.[82]
On 18 August 2008 the Android 0.9 SDK beta was released. This release provided an
updated and extended API, improved development tools and an updated design for the home
screen. Detailed instructions for upgrading are available to those already working with an
earlier release. On 23 September 2008 the Android 1.0 SDK (Release 1) was
released. According to the release notes, it included "mainly bug fixes, although some smaller
features were added." It also included several API changes from the 0.9 version. Multiple
versions have been released since.
Enhancements to Android's SDK go hand in hand with the overall Android platform
development. The SDK also supports older versions of the Android platform in case
developers wish to target their applications at older devices. Development tools are
downloadable components, so after one has downloaded the latest version and platform, older
platforms and tools can also be downloaded for compatibility testing.
The Android Market was announced on 28 August 2008 and was made available to users on
22 October 2008. Priced application support was added for U.S. users and developers in the
U.S. and UK in mid-February 2009. UK users gained the ability to purchase priced
applications on 13 March 2009.
On 17 March 2009, there were about 2,300 applications available for download from the
Android Market, according to T-Mobile chief technical officer Cole Brodman.[4]
By December 2009, there were over 20,000 applications available for download in the
Android Market.
By August 2010, there were over 80,000[6] applications available for download in the Android
Market, with over 1 billion application downloads. Recent months (in 2010) have shown an
ever increasing growth rate, recently (in May 2010) surpassing 10,000 additional applications
per month.
A report in July 2010, a company named Distimo showed that the Android Market features
the highest percentage of free apps, with over 57% being free to download, double the
amount of Apple Inc.'s App Store, in which only 28% of apps are free. Other competitors,
such as Nokia's Ovi Store and Blackberry'sApp World had 26%, with Windows
Marketplace only having 22%.
In December 2010, it was reported that the Market would shortly receive an update, which
will, alongside some minor updates, will add content-filtering to the market, and will reduce
the purchase refund window from 24/48 hours to 15 minutes. Google has said that the new
update would be available to all devices running Android 1.6 or higher, and arrived on
unlocked HTC Desires in the UK on 16th December.
On December 31, 2010 the Android market reached the 200,000 app milestone.
On February 2, 2011 Google presented a new web client providing access to the market via
PC. Requested Apps will directly be downloaded and installed on the registered Android
device.
At May 1, 2011 Android apps were 294,738 and Apple apps were 381,062, but in April 2011
Android had 28,000 new apps, whereas Apple had 11,000 new apps. App store analytics
company Distimo forecasted Android apps would surpass Apple apps in size before end of
July 2011, whereas Germany-basedresearch2guidance forecasted Android apps to surpass
Apple apps in August 2011 at 425,000 apps.
Priced applications
Developers of software (apps) receive 70% of the application price, with the remaining 30%
distributed among carriers (if authorized to receive a fee for applications purchased through
their network) and payment processors.[15] Revenue earned from the Android Market is paid
to developers via Google Checkout merchant accounts. T-Mobile, the first carrier with an
Android device, recently updated the market to allow Google to directly bill app purchases to
a customer's cell phone account that show up as a charge on the bill.
Availability for users
Users outside the countries/regions listed below only have access to free applications through
Android Market. Paid applications are currently available to Android Market users only in the
following countries:
Country Users can purchase applications[16]
Argentina Yes
Australia Yes
Austria Yes (ex
Czech Republic Yes
Canada Yes
Belgium Yes
Brazil Yes
Denmark Yes
Finland Yes
France Yes
Germany Yes
Hong Kong Yes
Hungary No
India Yes
Indonesia No
Ireland Yes
Israel Yes
Italy Yes
Japan Yes
Mexico Yes
Netherlands Yes
New Zealand Yes
Norway Yes
Pakistan Yes
Poland Yes
Portugal Yes
Russia Yes
Singapore Yes
Sweden Yes
Switzerland Yes
Taiwan Yes
South Korea Yes
Spain Yes
United Kingdom Yes
United States Yes
This was partly realized and, for the time being, developers from Austria, France, Germany,
Netherlands, Spain, UK and the U.S. can sell priced applications on the Android Market.[17]
Unlike with the iPhone, there is no requirement that Android applications be acquired from
Android Market. Android applications may be obtained from any source including a
developer's own website or from any of the 3rd party alternatives to Market which exist and
can be installed on Android devices alongside Market.
Banned applications
On Monday, several applications that enable tethering were removed from the Android
Market catalog because they were in violation of T-Mobile's terms of service in the US.
Based on Android's Developer Distribution Agreement (section 7.2), we remove applications
from the Android Market catalog that violate the terms of service of a carrier or
manufacturer. We inadvertently unpublished the applications for all carriers, and today we
have corrected the problem so that all Android Market users outside the T-Mobile US
network will now have access to the applications. We have notified the affected developers.
As of 20 May 2010, PDAnet, Easy Tether and Proxoid were all available in the U.S. market
for T-mobile users.
On 5 April 2011, Google pulled the Grooveshark app from the Android Market due to
unspecified policy violations. However, the app is still available for direct download via
Grooveshark's website, and does not require any special modifications to the Android device
to run.
Implementation details
The applications themselves are self-contained Android Package files. The Android Market
does not install applications itself, rather it asks the phone's PackageManagerService to install
them. The package manager can be seen directly if the user tries to download an APK file
direct to their phone. Applications can be installed to the phone's internal storage, and can
also be installed to the owner's external storage card under certain conditions.
Application security
An example of app permissions in the Android Market.
Android devices can run applications written by third-party developers and distributed
through the Android Market or one of several other application stores. Once they have signed
up, developers can make their applications available immediately, without a lengthy approval
process.
When an application is installed, the Android Market displays all required permissions. The
user can then decide whether to install the application based on those permissions. The user
may decide not to install an application whose permission requirements seem excessive or
unnecessary. A game may need to enable vibration, for example, but should not need to read
messages or access the phonebook.
As of May 2010, a widespread issue has been reported by hundreds of users which inhibits
their ability to download applications from the marketplace. Some user issues are related to
the migration of UK users from googlemail.com addresses to gmail.com, but the majority are
still unresolved, despite a number of suggested fixes. The two most popular questions on
Android technical help relate to the issue, with hundreds of unanswered queries.
Hundreds of users across multiple networks have experienced the market place application
disappearing after updating to Android 2.2. So far, the only solution Google has offered is to
hard reset your phone. However, doing so will delete contacts, text messages and applications
from the phone. One other way that can work is to make sure the Google Chat application on
the device is signed in to your gmail account - and then the Market Place application should
allow downloads (OS 2.2), may be fixed in later versions.[App Inventor for Android
On 12 July 2010 Google announced the availability of App Inventor for Android, a Web-
based visual development environment for novice programmers, based on MIT's Open
Blocks Java library and providing access to Android devices' GPS, accelerometer and
orientation data, phone functions, text messaging, speech-to-text conversion, contact data,
persistent storage, and Web services, initially including Amazon and Twitter.[96] "We could
only have done this because Android’s architecture is so open," said the project director,
MIT's Hal Abelson.[97] Under development for over a year,[98] the block-editing tool has been
taught to non-majors in computer science at Harvard, MIT, Wellesley, and the University of
San Francisco, where Professor David Wolber developed an introductory computer science
course and tutorial book for non-computer science students based on App Inventor for
Android.
The Simple project
The goal of Simple is to bring an easy to learn and use language to the Android
platform. Simple is a BASIC dialect for developing Android applications. It targets
professional and non-professional programmers alike in that it allows programmers to
quickly write Android applications that utilise the Android runtime components.
Similar to Microsoft Visual Basic 6, Simple programs are form definitions (which contain
components) and code (which contains the program logic). The interaction between the
components and the program logic happens through events triggered by the components. The
program logic consists of event handlers which contain code reacting to the events.
Android Developer Challenge
The Android Developer Challenge was a competition for the most innovative application for
Android. Google offered prizes totaling 10 million US dollars, distributed between ADC I
and ADC II. ADC I accepted submissions from 2 January to 14 April 2008. The 50 most
promising entries, announced on 12 May 2008, each received a $25,000 award to funurther
development. It ended in early September with the announcement of ten teams that received
$275,000 each, and ten teams that received $100,000 each. ADC II was announced on 27
May 2009. The first round of the ADC II closed on 6 October 2009. The first-round winners
of ADC II comprising the top 200 applications were announced on 5 November 2009. Voting
for the second round also opened on the same day and ended on November 25. Google
announced the top winners of ADC II on November 30, with SweetDreams, What the
Doodle!? and WaveSecure being nominated the overall winners of the challenge.
Google applications
Google has also participated in the Android Market by offering several applications for its
services. These applications include 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," which allows users to search,
write messages, and initiate calls by voice.
Third party applications
With the growing number of Android handsets, there has also been an increased interest by
third party developers to port their applications to the Android operating system.
As of December 2010, the Android Marketplace had over 200,000 applications, with over 1
billion downloads. This is up from 70,000 in July 2010.
Obstacles to development include the fact that Android does not use established Java
standards, i.e. Java SE and ME. This prevents compatibility among Java applications written
for those platforms and those for the Android platform. Android only reuses the Java
language syntax, but does not provide the full-class libraries and APIs bundled with Java SE
or ME. However, there are multiple tools in the market from companies such as Myriad
Group and UpOnTek that provide J2ME to Android conversion services.
Complete applications can be compiled and installed using traditional development tools. The
ADB debugger gives a root shell under the Android Emulator which allows native ARM
code to be uploaded and executed. ARM code can be compiled using GCC on a standard
PC. Running native code is complicated by the fact that Android uses a non-standard C
library (libc, known asBionic). The underlying graphics device is available as
a framebuffer at /dev/graphics/fb0. The graphics library that Android uses to arbitrate and
control access to this device is called the Skia Graphics Library (SGL), and it has been
released under an open source license.[129] Skia has backends for both win32 and Unix,
allowing the development of cross-platform applications, and it is the graphics engine
underlying the Google Chrome web browser.
Community-based firmware
There is a community of open-source enthusiasts that build and share Android-based
firmware with a number of customizations and additional features, such as FLAC lossless
audio support and the ability to store downloaded applications on the microSD card.[131] This
usually involves rooting the device. Rooting allows users root access to the operating system,
enabling full control of the phone. In order to use custom firmwares the device's bootloader
must be unlocked. Rooting alone does not allow the flashing of custom firmware. Modified
firmwares allow users of older phones to use applications available only on newer releases.
On 24 September 2009, Google issued a cease and desist letter to the modder Cyanogen,
citing issues with the re-distribution of Google's closed-source applications within the custom
firmware. Even though most of Android OS is open source, phones come packaged with
closed-source Google applications for functionality such as the application store and GPS
navigation. Google has asserted that these applications can only be provided through
approved distribution channels by licensed distributors. Cyanogen has complied with
Google's wishes and is continuing to distribute this mod without the proprietary software. He
has provided a method to back up licensed Google applications during the mod's install
process and restore them when it is complete.
Security
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. These apps were malicious applications
in the Android Market which contained trojans hidden in pirated versions of legitimate apps.
[137]
The malware (called DroidDream) exploited a bug which was present in versions of
Android older than 2.2.2.[138] 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. 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. 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. Security firms such
as AVG and Symantec have released antivirus software for Android devices.
Android logo
The Android logo was designed with the Droid font family made by Ascender Corporation.
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. 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.[146] 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.
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.[147] By the end of Q3 2010 Android's U.S. market share
had grown to 21.4 percent.
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. 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.
In early October 2010, Google added 20 countries to its list of approved submitters. By mid-
October, purchasing apps will be available in a total of 32 countries. For a complete list of
countries that are allowed to sell apps and those able to buy them see Android Market.
As of December 2010 Google said over 300,000 Android phones were being activated daily,
[152]
up from 100,000 per day in May 2010.
Linux compatibility
Android's kernel is derived from Linux but has included architecture changes by Google
outside the typical Linux kernel development cycle. 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. However, support
for the X Window System is possible. Google no longer maintains the code they previously
contributed to the Linux kernel as part of their Android effort, creating a separate version
or fork of Linux This was due to a disagreement about new features Google felt were
necessary (some related to security of mobile applications). The code which is no longer
maintained was deleted in January 2010 from the Linux code base.
Google announced in April 2010 that they will hire two employees to work with the Linux
kernel community.
However, as of January 2011, points of contention still exist between Google and the Linux
kernel team: Google tried to push upstream some Android-specific power management code
in 2009, which is still rejected today.
Furthermore, 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. 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.
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."[168] 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, and currently a Google employee.
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.
The Free Software Foundation has called this suit a "clear attack against someone's freedom
to use, share, modify, and redistribute software."[174] 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.