ANDROID ARCHITECTUREN. Hari Krishna B.S.S.Prasad.CPSCMR College Of Engg&Tech PSCMR College Of Engg&TechII-CSE II-CSE10KT1A0565 10KT1A0527hkrishna192@gmail.com firstname.lastname@example.orgAbstract: 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 formobile devices based on the Linux operating system and developed by Google and the OpenHandset Alliance. It allows developers to write managed code in a Java-like language thatutilizes Google-developed Java libraries, but does not support programs developed in nativecode. The unveiling of the Android platform on 5 November 2007 was announced with thefounding of the Open Handset Alliance, a consortium of 34 hardware, software and telecomcompanies devoted to advancing open standards for mobile devices. When released in 2008,most of the Android platform will be made available under the Apache free-software and open-source license. Google developed Android collaboratively as part of the Open Handset Alliance,a group of more than 30 mobile and technology companies working to open up the mobilehandset environment. Androids development kit supports many of the standard packages usedby Jetty, and so, due to that fact and Jettys modularity and lightweight footprint, it was possibleto port Jetty to it so that it will be able to run on the Android platform. Android is a freelydownloadable open source software stack for mobile devices that includes an operating system,middleware and key applications based on Linux and Java. This paper on Android deals withHistory of Android, Architecture of Android, Layer to Layer working of Android, Advantages,Limitations and future possibilities of this software
ANDROID ARCHITECTUREINTRODUCTION reported that Google had already lined up aWHAT IS ANDROID? series of hardware component and software partners and signaled to carriers that it was open to various Android is a software platform and degrees of cooperation on their part.operating system for mobile devices, based on theLinux kernel, and developed by Google and later the OPEN HANDSET ALLIANCEOpen Handset Alliance. It allows developers to writemanaged code in the Java language, controlling the On 5 November 2007, the Open Handsetdevice via Google-developed Java libraries. Alliance, a consortium of several companies whichApplications written in C and other languages can be include Google, HTC, Intel, Motorola, Qualcomm, T-compiled to ARM native code and run, but this Mobile, Sprint Nextel and NVIDIA, was unveileddevelopment path is not officially supported by with the goal to develop open standards for mobileGoogle. The unveiling of the Android platform on 5 devices. Along with the formation of the OpenNovember 2007 was announced with the founding of Handset Alliance, the OHA also unveiled their firstthe Open Handset Alliance, a consortium of 48 product, Android, an open source mobile devicehardware, software, and telecom companies devoted platform based on the Linux operating systemto advancing open standards for mobile devices.Google released most of the Android code under the ARCHITECTURE OF ANDROIDApache license, a free-software and open sourcelicense. LINUX KERNEL : Android relies on Linux version 2.6 for core system services such as security, memoryTHE BIRTH OF ANDROID management, process management, network stack, and driver model. The kernel also acts as an In July 2005, Google acquired Android Inc., abstraction layer between the hardware and the resta small startup company based in Palo Alto, CA. of the software stack.Androids co-founders who went to work at Google It helps to manage security, memory management,included Andy Rubin (co-founder of Danger), Rich process management, network stack and otherMiner (co-founder of Wildfire Communications, Inc), important issues. Therefore, the user should bringNick Sears (once VP at T-Mobile), and Chris White Linux in his mobile device as the main operating(one of the first engineers at WebTV). At the time, system and install all the drivers required in order tolittle was known about the functions of Android Inc. run it.other than they made software for mobile phones. At Developers have full access to the same frameworkGoogle, the team, led by Rubin, developed a Linux- APIs used by the core applications. The applicationbased mobile device OS which they marketed tohandset makers and carriers on the premise of architecture is designed to simplify the reuse ofproviding a flexible, upgradeable system. It was components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same
mechanism allows components to be replaced by the and systems.user. Underlying all applications is a set of servicesANDROID ARCHITECTURE BASED ON LINUX KERNEL VERSION 2.6 screen. So its the surface manager thats responsible for taking different windows that are owned by different applications that are running in different processes and all drawing at different times andLIBRARIES: making sure the pixels end upon the screen when they„re supposed to. The next level up is the native libraries.Everything that you see here in green is written in C OPEN GL/ES:and C++. Its at this level where a lot of the corepower of the Android platform comes from. Open GL /ES is a 3D library. They have a software implementation that is hardwareSURFACE MANAGER: acceleratable if the device has a 3D chip on it. The surface manager is responsible forcomposing different drawing surfaces on to the
SGL: on. One interesting thing about the Android graphics platform is that you can combine 3D and 2D graphics The SGL graphics are for 2D graphics and in the same application.that is what most of the application drawing is basedMEDIA FRAME WORK: DALVIK VIRTUAL MACHINE: The Media Framework was provided by It is extremely low-memory based virtualPacket Video, one of the members of the open machine, which was designed especially for Androidhandset alliance and that contains the entire codex to run on embedded systems and work well in lowthat make up the core of the media experiences. So, power situations. It is also tuned to the CPUin there you‟ll find IMPEG4, H.264, MP3, and AAC, attributes. The Dalvik VM creates a special fileall the audio and video codes you need to build a rich format (.DEX) that is created through build time postmedia experience. processing. Conversion between Java classes and .DEX format is done by included “dx” tool.FREE TYPE: CORE LIBRARIES: They use Free Type to render our fonts. FreeType is a free, high-quality and portable font engine. This is in blue, meaning that its written in the Java programming language.The core librarySQLITE: contains all of the collection classes, utilities, IO, all the utilities and tools that you‟ve come to expected to They have an implementation of SQLite; it use.uses that as the core of most of its data storage. APPLICATION FRAMEWORKWEB KIT: After that, there is Application Framework, They have Web Kit which is the open source written in Java language. It is a toolkit thatbrowser engine, thats what theyre using as a core of all applications use, ones which come with mobile device like Contacts or SMS box, orAndroid‟s browser.Its the same browser thats applications written by Google and anypowering Safari from Apple and they‟ve worked with Android developer. It has severalthat engine to make it render well on small screens components.and on mobile devices. ACTIVITY MANAGER:ANDROID RUNTIME: The Activity manager is what manages the life cycle of the applications. It also maintains a Android includes a set of core libraries that common back stack so that application that is runningprovides most of the functionality available in the in different processes can have a smoothly integratedcore libraries of the Java programming language. navigation experience.Every Android application runs in its own process,with its own instance of the Dalvik virtual machine.Dalvik has been written so that a device can runmultiple VMs efficiently. .
PACKAGE MANAGER: descriptions, all of the external parts of an application that arent code. The package manager is what keeps track of LOCATION AND NOTIFICATIONwhich applications are installed on your device. So, if MANAGER:you download new applications over the air orotherwise install apps, its the package manager thatsresponsible for keeping track of what you have and Location manager, notification manager and XMPP service are some APIs that I think will allowwhat the capabilities of each of your applications are. developers to create really innovative and exciting applications.WINDOW MANAGER: APPLICATION LAYER: The window manager manages Windows.Its mostly a java programming language abstraction At the top of Android Architecture we haveon top of lower level services that are provided by the all the applications, which are used by the final user.surface manager. By installing different applications, the user can turn his mobile phone into the unique, optimized andTELEPHONY MANAGER: smart mobile phone. All applications are written using the Java programming language. The telephony manager contains the APIs APPLICATIONS OF ANDROID:that we use to build the phone application thats • The ability for anyone to customize thecentral to the phone experience. Google Android platform • The consumer will benefit from having aCONTENT PROVIDERS: wide range of mobile applications to choose from since the monopoly will be broken by Google Android Content providers are a unique piece of the • Men will be able to customize a mobileAndroid platform. Thats the framework that allows phones using Google Android platform likeapplications to share their data with other never beforeapplications. • Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to beTHE VIEW SYSTEM: customized • As a result of many mobile phones carrying Google Android, companies will come up View System contains things like buttons with such innovative products like theand lists, all the building blocks of the UI. It also locationhandles things like event dispatching, layout drawing, • In addition the entertainment functionalities. will be taken a notch higher by GoogleRESOURCE MANAGER: Android being able to offer online real time multiplayer games The resource manager is what they use tostore local iStrings, bitmaps, and layout file
NAVIGATION TOOLS ANDROID POWERED WATCHESLIMITATIONS OF ANDROID: Development requirements in FIREFOX MOBILE ISNT COMING TO Java ANDROID BECAUSE OF ANDROID Android SDK LIMITATIONS Eclipse IDE (optional) Fennec wont play nice with Android Market BLUETOOTH LIMITATIONS: because apps in Android Market need to be programmed with a custom form of Java to run Google Talk functions and only the simplest on Android. Mozilla and the Fennec peeps wontimplementation of Bluetooth. Itll work with have that and wont be releasing any form ofBluetooth headsets but thats about it; no Bluetooth Firefox until Google amends the limitation ofstereo, no contacts exchange, no modem pairing and Android Apps.no using wireless keyboards. Android uses a non-standard jvm: there is no guarantee that the samesoftware will run on multiple devices. CONCLUSION: We can only hope that the next versions of Android have overcome the actual limitations and that the future possibilities became a reality. REFERENCES: 1. Ritesh Ambastha, Rajnikanth Joshi from Android Development Workshop at NIT, Warangal. 2 . Martin Jantscher, Mohammed Talhaoui, Denis De Vos, Ivan Cunha, Artur Roszcyk from www.scribd.com