Seminar ReportOn ANDROID OS Submitted in Partial Fulfillment of the Requirement for the Award of the Degree BACHELOR OF COMPUTER APPLICATIONS Android OS 1 CONTENTS 1. Introduction 2. Architecture 2.1 Android Runtime 2.2 Linux Kernal 2.3 Libraries 2.4 Application Framework 2.5application Layer 3. Birth Of Android 4. Features 5. Advantages 6. Disadvantages 7. Applications 8. Uses 9. Conclusion And Future Scope 10. Referrences Android OS 2 INTRODUCTION Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Android is a software platform and operating system for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance. It allows developers to write managed code in a Java-like language that utilizes Google-developed Java libraries, but does not support programs developed in native code. The unveiling of the Android platform on 5 Novembe r 2007 was announced with t h e f o u n d i n g o f t h e o p e n H a n d s e t A l l i a n c e , a c o n s o r t i u m o f 3 4 hardware, software and telecom companies devoted to advancing open standards for m o b i l e devices. When released in 2008, most of the Android p l a t f o r m w i l l b e m a d e available under the Apache free-software and open-source license. Android is a Linux-based operating system for mobile devices such as smart phones and tablet computers. 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. Apps can be downloaded from third-party sites or through online stores such as Android Market, the app store run by Google. As of October 2011 there were more than 400,000 apps available for Android, and the estimated number of applications downloaded from the Android Market as of December 2011 exceeded 10 billion. Android OS 3 The Open Handset Alliance, a consortium of several companies which include Google, H T C , i n t e l , M o t o r o l a , Q u a l c o m m , T - M o b i l e , S p r i n t N e x t e l a n d NVIDIA, was unveiled with t h e g o a l t o d e v e l o p o p e n s t a n d a r d s f o r m o b i l e d e v i c e s . Along with the formation of the Open Handset Alliance, the OHA also unveiled their first product, Android, an open source mobile device platform based on the Linux operating system. Android OS 4 ARCHITECTURE Android OS 5 2.1 ANDROID RUNTIME At the same level there is Android Runtime, where the main component Dalvik Virtual Machine is located. It was designed specifically for Android r u n n i n g i n l i m i t e d e n v i r o n m e n t , w h e r e the limited battery, CPU, memory and data storage are the main issues. Android gives an integrated tool “dx”, which converts generated byte code from .jar to .dex file, after this b y t e c o d e b e c o m e s m u c h m o r e efficient to run on the small processors. 2.2 LINUX KERNAL Android relies on Linux version 2.6 for core system s e r v i c e s s u c h a s security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. It helps to manage security, memory management, process management, network stack and other important issues. Therefore, the user should bring L i n u x i n h i s m o b i l e d e v i c e a s t h e m a i n o p e r a t i n g s y s t e m a n d i n s t a l l a l l t h e d r i v e r s required in order to run it. Android OS 6 2.3 LIBRARIES In the next level there are a set of native libraries written in C/C++,w h i c h a r e r e s p o n s i b l e f o r s t a b l e p e r f o r m a n c e o f various components. Moreover, it is possible to use 2D and 3D graphics in the same application in Android. The media framework was provided by Packet Video, one of the members of OHA. It gives libraries f o r a p l a y b a c k a n d r e c o r d i n g s u p p o r t f o r a l l t h e m a j o r m e d i a a n d s t a t i c i m a g e f i l e s . Free Type libraries are used to render all the bitmap and vector fonts. For data storage, Android uses SQLite. As mentioned before, it is extra light rational management system, w h i c h l o c a t e s a s i n g l e f i l e f o r a l l o p e r a t i o n s r e l a t e d t o d a t a b a s e . W e b K i t , t h e s a m e browser used by Apples’Safari, was modified by Android inorder to fit better in a small size screen. 2.4 APPLICATION FRAMEWORK After that, there is Application Framework, written in Java language. It is a tool kit that all applications use, ones which come with mobile device like Contacts or SMS box, or applications written by Google and any Android developer. It has several components. The Activity Manager manages the life circle of the applications and provides a c o m m o n n a v i g a t i o n b a c k s t a c k f o r a p p l i c a t i o n s , w h i c h a r e r u n n i n g i n d i f f e r e n t processes. The Package Manager keeps track of the applications, which are installed in the device. The Windows Manager is Java programming language abstraction on the top of lower level services that are provided by the Surface Manager. Android OS 7 The Telephony Manager contains of a set of API necessary for calling a p p l i c a t i o n s . C o n t e n t P r o v i d e r s w a s built for Android to share a data with other a p p l i c a t i o n s , for instance, the contacts of people in the address book can be used in other applications too. The Resource Manager is used to store localized strings, bitmaps, lay out file descriptions and other external parts of the application. The View System generates a set of buttons and lists used in UI. Other components like Notification manager is used to customized is play alerts and other functions. 2.5 APPLICATION LAYER At the top of Android Architecture we have all the applications, which are used by the final user. By installing different applications, the user can turn his mobile phone into the unique, optimized and smart mobile phone. All applications are written using the Java programming language. Android OS 8 BIRTH OF ANDROID Google Acquires Android Inc. In July 2005, Google acquired Android Inc., a small startup company based in Palo Alto, CA. Android's co-founders who went to work at Google included Andy Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc), Nick Sears (once VP at T-Mobile), and Chris White (one of the first engineers at WebTV). At the time, little was known about the functions of Android Inc. other than they made software for mobilephones. At Google, the team, led by Rubin, developed a Linux-based mobile device OS which they marketed to handset makers and carriers on the premise of providing a flexible, upgradeable system. It was reported that Google had already 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. Open Handset Alliance Founded On 5 November 2007, the Open Handset Alliance, a consortium of several companies which include Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel and NVIDIA, was unveiled with the goal to develop open standards for mobile devices. Along with the formation of the Open Handset Alliance, the OHA also unveiled their first product, Android, an open source mobile device platform based on the Linux operating system. Android OS 9 Hardware Google has unveiled at least three prototypes for Android, at the Mobile World Congress on February 12, 2008. One prototype at the ARM booth displayed several basic Googleapplications. A 'd-pad' control zooming of items in the dock with a relatively quick response. A prototype at the Google IO conference on May 28, 2008 had a 528 MHz Qualcomm processor and a Synaptics capacitive touch screen, and used the UMTS cellular standard. It had 128 MB of RAM and 256 MB of flash, showing that Android's memory requirements are reasonable. The demo was carried out using a 3.6 Mbit/s HSDPA connection. Android OS 10 FEATURES 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 (C2DM) is also a part of Android Push Messaging service. Multiple language support- Android supports multiple languages. 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 100/100 on the Acid3 test on Android 4.0. 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 thirdparty applications. Android OS 11 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. 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. 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. 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). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively. Android OS 12 ADVANTAGES Open - Android allows you to access core mobile device functionality through standard API calls. All applications are equal - Android does not differentiate between the phone's basic and third-party applications -- even the dialer or home screen can be replaced. Breaking down boundaries - Combine information from the web with data on the phone -- such as contacts or geographic location -- to create new user experiences. Fast and easy development - The SDK contains what you need to build and run Android applications, including a true device emulator and advanced debugging tools. Android OS 13 DISADVANTAGES Security - Making source code available to everyone inevitably invites the attention of black hat hackers. Open Source - A disadvantage of open-source development is that anyonecanscrutinizethesourcecodetofindvulnerabilitiesandwriteexploits. Login - Platform doesn't run on an encrypted file system and has a vulnerablelog-in. Incompetence - Google’s dependence on hardware and carrier partners puts the final product out of their control. Android OS 14 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++, Google App Inventor, a visual environment for novice programmers and various cross platform mobile web applications frameworks . Android Market The Android Market on a phone Android OS 15 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 October 2011 there were more than 300,000 apps available for Android, and the estimated number of applications downloaded from the Android Market as of December 2011 exceeded 10 billion. The operating system itself is installed on 130 million total devices. Only devices that comply with Google's compatibility requirements are allowed to preinstall Google's closed-source Android Market app and access the Market. 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. 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", which allows users to search, write messages, and initiate calls by voice. Alternatively, users can install apps directly onto the device if they have the application's APK file or from third party app stores such as the Amazon Appstore. Android OS 16 Application security An example of app permissions in Android Market. Android applications run in a sandbox, an isolated area of the operating system that does not have access to the rest of the system's resources, unless access permissions are granted by the user when the application is installed. Before installing an application, Android Market displays all required permissions. A game may need to enable vibration, for example, but should not need to read messages or access the phonebook. After reviewing these permissions, the user can decide whether to install the application. Android OS 17 Some Android malware incidents have been reported involving rogue applications on Android Market. In August 2010, Kaspersky Lab reported detection of the first malicious program for Android, named Trojan-SMS. Android OS Fake Player a, an SMS trojan which had already infected a number of devices. In some cases applications which contained Trojans were hidden in pirated versions of legitimate apps. Google has responded by removing malicious apps from the Android Market, and remotely disabling them on infected devices. Several security firms have released antivirus software for Android devices, in particular, AVG Technologies, Avast!, F-Secure, Kaspersky, McAfee and Symantec. Privacy Android smartphones have the ability to report the location of Wi-Fi access points, encountered as phone users move around, to build vast 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, Latitude, Places, and to deliver location-based ads. Third party monitoring software such as TaintDroid, an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers. Android OS 18 SECURITY ISSUES Android mobile phone platform is going to be more secure than Apple, iPhone or any other device in the long run. There are several solutions nowadays to protect Google phone from various attacks. One of them is security vendor McAfee, a member of Linux Mobile (LiMo) Foundation. This foundation joins particular companies to develop an open mobile-device software platform. Many of the companies listed in the LiMo Foundation have also become members of the Open Handset Alliance (OHA). As a result, Linux secure coding practice should successfully be built into the Android development process. However, open platform has its own disadvantages, such as source code vulnerability for black-hat hackers. In parallel with great opportunities for mobile application developers, there is an expectation for exploitation and harm. Stealthy Trojans hidden in animated images, particular viruses passed from friend to friend, used for spying and identity theft, all these threats will be active for a long run. Another solution for such attacks is SMobile Systems mobile package. SecurityShield “an integrated application that includes anti -virus, anti-spam, firewall and other mobile protection is up and ready to run on the Android operating system. Currently, the main problem is availability for viruses to pose as an application and do things like dial phone numbers, send text messages or multi-media messages or make connections to the Internet during normal device use. It is possible for somebody to use the GPS feature to track a personâ„¢s location without their knowledge. Hence SMobile Systems is ready to notify and block these secure alerts. But the truth is that it is not possible to secure your mobile device or personal computer completely, as it connects to the internet. And neither the Android phone nor other devices will prove to be the exception. Android OS 19 USES Galaxy Nexus, the latest "Google phone" I'm Watch, a wristwatch with phone functionality, running a custom version of Android. Android OS 20 Google TV Home Screen While Google has their own line of Android smartphones, the Google Nexus series, the open and customizable nature of the Android operating system allows it to be used on most electronics, including but not limited to: smartphones, fixed phones, laptops, netbooks, smartbooks, tablet computers, E-book readers, TVs (Google TV), wristwatches, headphones, Car CD and DVD players, digital cameras, Portable media players and other devices. The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android x86 project, 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. 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 and in 2011 with the Galaxy Nexus. 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. The NOVO7, manufactured by the Chinese company Ainol Electronics, was the world's first Android 4.0 Ice Cream Sandwich tablet. In December 2011 it was announced the Pentagon has officiall approved Android for use by its personnel. Android OS 21 CONCLUSION AND FUTURE SCOPE Android has been criticized for not being all open-source software despite what was announced by Google. Parts of the SDK are proprietary and closed source, and some believe this is so that Google can control the platform. Software installed by end -users m u s t b e written in Java, and will not have access to lower level d e v i c e A P I s . T h i s provides end-users with less control over their phone's functionality than other free and open source phone platforms, such as OpenMoko. With all upcoming applications and mobile services Google Android is s t e p p i n g i n t o t h e n e x t l e v e l o f M o b i l e I n t e r n e t . A n d r o i d p a r t i c i p a t e s i n m a n y o f t h e successful open source projects. That is, architect the solution for participation and the developers will not only come but will play well together. This is notable contrast with Apple and other companies, where such architecture of participation is clearly belated. The first Android based official devices may well be launched sometime in the early half of 2009. Obviously, that's an age away when it comes to handset design, and Android may well find itself competing against the forthcoming Nokia touch screen phones and may be even the iPhone. Android OS 22 REFERRENCES 1.http://www.android.comAndroidOfficialWebpage 2.http://code.google.com/android/-OfficialAndroidGoogleCodeWebpage 3.http://www.openhandsetalliance.com/-OpenHandsetAllianceWebpage 4.http://www.androidwiki.com–AndroidWiki 5.http://googleblog.blogspot.com/-OfficialGoogleBlog 6.http://en.wikipedia.org/wiki/Android_(mo...–WikipediaInformation 7.http://en.wikipedia.org/wiki/SQLite 8.http://en.wikipedia.org/wiki/WebKit 9.http://en.wikipedia.org/wiki/Eclipse_(software) 10.http://www.itworld.com/google-android-dr-080213 Android OS 23