Google Android. 2008/3/10 NemusTech, Inc. Lee Seung Min

Similar documents
Mobile and Wireless Systems Programming

IJRDTM Kailash ISBN No Vol.17 Issue

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Android - open source mobile platform

Android Overview. Francesco Mercaldo, PhD

Android Overview. Most of the material in this section comes from

SHWETANK KUMAR GUPTA Only For Education Purpose

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Android. (XKE Mars 2009) Erwan Alliaume.

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

Introduction To Android

FutureWalker

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Android Development Tutorial. Yi Huang

Android App Development

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Lecture 1 - Introduction to Android

An overview of mobile and embedded platforms

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

Android. Michael Greifeneder. Image source: Android homepage

Developer s overview of the Android platform

Mobile Internet Devices and the Cloud

Distributed Systems Introduction. Matthias Kovatsch Distributed Systems Group

CS260 Intro to Java & Android 04.Android Intro

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Android Programming in Bluetooth Cochlea Group

Ahmed Ali Big fan of Android

IJMIE Volume 2, Issue 4 ISSN:

SD Module- Android Programming

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

Mobile Computing LECTURE # 2

Android In Industrial Applications. A Field Report

Android Software Development Kit (Part I)

Open Source Software in mobile devices. Timofey Turenko Nokia Research Center, Office of CTO

Android App Development

Chapter 1 Hello, Android

Praktikum Entwicklung von Mediensystemen mit Android

UNIT:2 Introduction to Android

Android Everywhere. Cristina Segal, EMEA Director Android Solutions GM Android testing tools

Mobile Computing. Juha-Matti Liukkonen, Nov 17, 2010

Introduction to Android

BCA 6. Question Bank

Software Development & Education Center ANDROID. Application Development

Introduction to Android

ANDROID SYLLABUS. Advanced Android

Android Online Training

Android & iphone. A Comparison. Stefan Tramm JUGS, Jahresevent

Mobile and Ubiquitous Computing: Android Programming (part 1)

Introduction to Mobile Application and Development

Mobile Application Development

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Mobile Middleware Course. Mobile Platforms and Middleware. Sasu Tarkoma

IJREAT International Journal of Research in Engineering & Advanced Technology, Volume 1, Issue 5, Oct-Nov, 2013 ISSN:

Minds-on: Android. Session 1

OpenEZX and OpenMoko, truly free software for mobile phones

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Mobile Linux Mojo. The XYZ of Mobile TLAs PDQ! Bill Weinberg January 29, Copyright 2009 Bill Weinberg, LinuxPundit,com

Research on Improving performance and Battery Backup of Android Mobile with help of Cyanogen Mod, and latest kernel


1Hello, Android COPYRIGHTED MATERIAL

Android Forensics. Investigation, Analysis, Google Android. and Mobile Security for. Andrew Hoog. John McCash, Technical Editor SYNGRESS

Android System Development Training 4-day session

Comprehensive Development and Debug Coverage for Linux and Android on the MIPS Architecture

Copyright

Qt in MeeGo. Zhang Chi Manager of Qt & MeeGo ecosystem, Greater China

WebSphere Puts Business In Motion. Put People In Motion With Mobile Apps

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Nokia for developers. Alexey Kokin. Developer Relations

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Simon Jackson Mike Bow Dan North Pete Hemery

2007 Aalborg University, Mobile Device Group. Qtopia Phone Edition and Qtopia Greenphone

COSC 3P97 Mobile Computing

Introduction to Android

Connecting with Tizen : An Overview & Roadmap. Mohan Rao

Android Application Development A Beginners Tutorial

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

How ercp stacks up against Android and other Mobile Rich Client Platforms. Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

Qt for Device Creation

Android Sdk Tutorial For Windows 7 64 Bit Full Version

Chapter 2. Operating-System Structures

Mobile Computing. Introduction to Android

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Android. Operating System and Architecture. Android. Screens. Main features

User Guide. Android x86 Modified System. Sponsor: Huan Ren. Compiled by: Zachary Bair, Taronish Daruwalla, Joshua Duong, and Anthony Nguyen

Developing Applications for ios

In the Driver s Seat

VISHVESHWARAIAH TECHNOLOGICAL UNIVERSITY S.D.M COLLEGE OF ENGINEERING AND TECHNOLOGY. A seminar report on SYMBIAN OPERATING SYSTEM

2/27

International Journal of Multidisciplinary Consortium Volume 2 Issue

Android for Java Developers Dr. Markus Schmall, Jochen Hiller

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

Getting Started with the ArcGIS Mobile APIs. Kris Bezdecny, David Martinez Andy Gup, David Cardella

CMSC 628: Introduction to Mobile Computing

Transcription:

Google Android 2008/3/10 NemusTech, Inc. Lee Seung Min

Agenda Introduction Mobile Platform Overview Background : Current Linux Mobile Platform What is Android? Features Architecture Technical Detail Android SDK Porting Android to Real Target Future of Android

A conceptual model for mobile software Software Stack Kernel the core of the SW (HW drivers, memory, filesystem, and process management) Middleware The set of peripheral software libraries (messaging and communication engines, WAP renders, codecs, etc) Application Execution Environment An application manager and set APIs UI framework A set of graphic components and an interaction framework Application Suite The set of core handset application ( IDLE screen, dialer, menu screen, contacts, calendar, etc)

Mobile Platforms Feature Phone Vendor Platform : Mocha, PDK, WAVE, WISE, KX, etc... Carrier Platform : SKTelecom TPAK, NTT i-mode (WAP), Java, WIPI, BREW, etc 3 rd Party Solution : TAT Cascade, Qualcomm uione Smart Phone MicroSoft Windows Mobile Nokia : Symbian, Series 60 Apple, iphone OSX 10.5 Leopard Linux

Customers & Licensees Not all customers or licensees are shown Source:vendor data

Smartphone OS Market Share by Region Smartphone OS market share by region, 2006 Source : Canalys

Current Linux Mobile Platforms LiMo Foundation https://www.limofoundation.org/sf/sfmain/do/home TrollTech Qtopia GreenPhone Acquired by Nokia OpenMoko : GNU/Linux based software development platform http://www.openmoko.org, http://www.openmoko.com Linux Kernel, GUI using X. Org Server, GTK+,Matchbox window manager First Supported phone, Neo1973 (also support Qtopia) ALP (Access Linux Platform) http://alp.access-company.com/ Nokia N810 Maemo http://maemo.org/ Exploring the technical details of N810 http://arstechnica.com/journals/linux.ars/2007/10/22/looking-at-the-technical-details-ofnokias-n810-internet-tablet-operating-system MontaVista - Mobilinux Google - OHA, Android OS http://www.openhandsetalliance.com/ Android : A complete set of SW for mobile devices Operation System, Middleware, and Key mobile applications

Linux for mobile handsets Benefits Linux is designed to avoid single-vendor domination The Linux kernel has been ported to more than a dozen chipsets Linux is cheap and open to innovation Technically competent and cost-effective for converged devices Several governments (most notably China) support Linux Challenges The Linux kernel is optimized for desktop and embedded Distribution lack the feature set requested by network operators (except Vodafone?) No consensus on Linux s APIs Mitigating legal challenges

Google OHA

What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications.... developing applications... using the Java programming language. History 2001 search service for wireless device 2005 Acquire Android (Andy Rubin : Danger CEO, Development Sidekick of T-Mobile) Acquire Skia (2D Graphics for mobile device) Acquire RegWireless (Browser and Email for mobile device) Move Engineers from PalmSource (Dianne Hackborn, etc ) 2007.11 Android SDK Release, OHA 2008. 1H Android Developer Challenge 2008. 2H Android Phone

Features Application Framework Enable reuse and replacement of components Dalvik Virtual Machine Optimized for mobile device Integrated Browser Based on the open source WebKit engine Optimized Graphics Powered by a custom 2D/3D graphics SQLite For structured data storage Media Support For common audio, video, image formats (MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich Development Environment Device emulator, Debugging Tools, Memory/Performance Profiling, Plugin for the Eclipse IDE

Android Architecture

Android Runtime Core Libraries Provides the functionality of the Java Programming Language Android Application runs in its own process, with its own instance of the Dalvik virtual machine Dalvik VM : Java based license free VM Register based VM, optimization for low memory requirements Executes files in the Dalvik Executable (.dex) format DX tool converts classes to.dex format Why Dalvik, Why Java? Separate HW layer/ SW layer Kernel is responsible for Security Allow Multiple VM instance To insure compatibility Support different HWs (LCD, Keypad, etc) Avoid License Issues

Architecture in detail The Design goal of Android Openness Be as flexible as possible How it handles access to data (Mashups on the internet and everything else) Rapid development (XML, Java) IPC/Data Sharing Method AIDL (Android Interface Definition Language) COM/CORBA like IDL Binder SQLite Content Provider FileSystem Dev Language? App : Java Framework : Java Libraries : C/C++ OS & Driver : C Creating Native C Applications Possible, but not supported

Views Sample

Android SDK Tools Emulator : QEMU 0.8.2 + libsdl 1.2.12 Provide emulator console, telephony emulation, skins DDMS (Dalvik Debug Monitor Service) Thread/Heap/Process/Log Monitor File Explorer ADB Shell Logcat, Android Log, Traceview Samples/Docs System and Software Requirements Supported Operating Systems Windows XP/Vista Mac OS X 10.4.8 or later (x86 only) Linux(tested on Linux Ubuntu Dapper Drake) Supported Development Environments Eclipse IDE Eclipse 3.2,3.3 (Europa) Eclipse JDT Plugin JDK 5 or JDK 6 ADT (Android Development Tools plugin), optional Other IDEs JDK 5 or JDK 6 Apache Ant GCJ(Gnu compiler for Java) not compatible

Porting Android to Real Target Board Spec. Acumen Evaluation Board CPU: PXA270 (ARMv5 based) RAM: 128MB NAND: 32MB Porting Procedure Make file system image Ramfs (rootfs), yaffs2 system, data image Linux 2.6.23.8 porting (make android patch) EABI(Embedded Application Binary Interface) Support OpenBinder (google added) Device Driver Setting FrameBuffer Keyboard TouchScreen Network Tune scripts and settings Porting Tools strace, busybox, log, network, /init

Future of Android Business model Organize the world s information and make it universally accessible and relevant No direct-advertising component in the platform Search and Advertisement (Network+Desktop Mobile+Phone) Will NOT make A gphone Google 700Mhz bid? A broad developer community ASL (Apache Software License) Linux Kernel is licensed under (GPLv2) Developer Challenge $10 million in awards Challenge I : Emulator Version ( Jan 2. 2008~) Challenge II : Handset Version (The second half of 2008) Opened Project (~12/12) Social Network (with 2d&3d animation) FPS : Wi-Fi Army Location Search : with google map Drive By Ad. : Location base Ad. Car Navigation Mobile Shopping Ebook with full text index : google phone search? Location Base! Almost Location Base Service except ebook, Social Network (over 80%) Small group is discussing game/pda apps

Mash Up Mash-up New service with existing information Not supported directly yet Source Google : www.google.com ride finder maps : street view search by location video & youtube mash-up editor gtalk GoogleMobile : www.google.com/m gmail calendar notebook docs reader picasaweb 3 rd Party? Android H/W Support GPS Location Compass Direction Sensor Accelerometer Camera(Still/Video) Network Support GPRS 700MHz W-MAN Wi-Fi Intent Access Service via URL XMPP Google Instant Message

Mash Up Example