The document discusses Android development and the Android software stack. It describes Android as an open-source operating system based on Linux that provides developers with tools like the SDK and Dalvik virtual machine. The Android software stack consists of four layers - the application layer, application framework, native libraries/runtime, and Linux kernel. The document outlines the history and features of Android.
The document discusses Android development and the Android software stack. It describes Android as an open-source operating system based on Linux that provides developers with tools like the SDK and Dalvik virtual machine. The Android software stack consists of four layers - the application layer, application framework, native libraries/runtime, and Linux kernel. The document outlines the history and features of Android.
The document discusses Android development and the Android software stack. It describes Android as an open-source operating system based on Linux that provides developers with tools like the SDK and Dalvik virtual machine. The Android software stack consists of four layers - the application layer, application framework, native libraries/runtime, and Linux kernel. The document outlines the history and features of Android.
JDK OUTLINE Previous Lecture Overview JDK WHAT IS ANDROID? Google's Android is the world’s most popular mobile platform. It is a modified version of Linux.
“Android is a software stack for mobile devices that
includes an operating system, middleware and key applications”. HISTORY Android, Inc. was founded in October 2003 by Andy Rubin ,Rich Miner, Nick Sears and Chris White to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences". Android Inc. acquired by Google in August, 2005. At Google, the developed a mobile device platform powered by the Linux kernel. On November 5, 2007, the Open Handset Alliance came with a goal to develop open standards for mobile devices. That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6. The first commercially available phone to run Android was the HTC Dream in 2008. Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. VERSION HISTORY FEATURES Provides us SDK for developing Applications Runs on Dalvik virtual machine
Video and audio codecs
Bluetooth 3G, and WiFi, Camera
Integrated browser based on the open source
WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based SQLite for structured data storage
Media support for common audio, video, and still
image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) WHY ANDROID? The ability for anyone to customize the Google Android platform The consumer will benefit from having a wide range of mobile applications to choose from since the monopoly will be broken by Google Android Men will be able to customize a mobile phones using Google Android platform like never before Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to be customized In addition the entertainment functionalities will be taken a much higher by Google Android being able to offer online real time multiplayer games ANDROID SOFTWARE STACK The software stack is split into Four Layers: 1. The application layer 2. The application framework 3. The libraries and runtime 4. The kernel LINUX KERNEL
• The architecture is based on the Linux2.6
kernel. Android use Linux kernel as its hardware abstraction layer between the hardware and rest of the software. • It also provides memory management, process management, a security model, and networking, a lot of core operating system infrastructures that are robust and have NATIVE LIBRARIES The next level up is the native libraries. Everything that you see here in green is written in C and C++. ANDROID RUNTIME The Android Runtime was designed specifically for Android to meet the needs of running in an embedded environment where you have limited battery, limited memory, limited CPU. DALVIK VIRTUAL MACHINE The DVM runs something called dex files, D-E-X and these are byte codes that are the results of converting at build time. APPLICATION FRAMEWORK This is all written in a Java programming language and the application framework is the toolkit that all applications use. Views that can be used to build an application, including lists, grids, text boxes, and buttons. Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data . Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files . Notification Manager that enables all applications to display custom alerts in the status bar. Activity Manager that manages the lifecycle of applications and provides a common navigation back stack. APPLICATION LAYER The final layer on top is Applications. It includes the home application, the contacts application, the browser, and your apps. And everything at this layer is, again, using the same app framework provided by the layers below. ANDROID DEVELOPMENT ENVIRONMENT Java Development Toolkit Android Studio or Eclipse (IDE)