What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe 2010. Copyright 2010, 2net Limited.



Similar documents
Android Programming and Security

Example Connection between USB Host and Android

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Tutorial on Basic Android Setup

Android Setup Phase 2

Android Framework. How to use and extend it

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Running a Program on an AVD

CS378 -Mobile Computing. Android Overview and Android Development Environment

01. Introduction of Android

Getting Started with Android Development

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Board also Supports MicroBridge

How To Develop Android On Your Computer Or Tablet Or Phone

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

An Introduction to Android

Hello World. by Elliot Khazon

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Android 5.0: Lollipop OS

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Android Environment SDK

Application Development Setup Guide

Lab 0 (Setting up your Development Environment) Week 1

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

OpenCV on Android Platforms

Basic Android Setup Windows Version

Installing the Android SDK

Android Development. 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

Smartphone market share

Android Development. Marc Mc Loughlin

Android Tutorial. Larry Walters OOSE Fall 2011

Introduction to Android

Android Development Setup [Revision Date: 02/16/11]

Introduction to Android

Fahim Uddin 1. Java SDK

Tutorial on Basic Android Setup

Android 4.4 App Development Essentials

Android Environment Emulator

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Technical Note. TN_132 Adding FTDI Devices VCP Driver Support to Android

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

Introduction to Android

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release

AllJoyn Android Environment Setup Guide

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

5 reasons to choose Streamezzo SDK over Android SDK Page 2

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

Example of Standard API

Basics. Bruce Crawford Global Solutions Manager

The power of root on Android emulators

How To Run A Hello World On Android (Jdk) On A Microsoft Ds.Io (Windows) Or Android Or Android On A Pc Or Android 4 (

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

Android Programming: Installation, Setup, and Getting Started

Mobile Application Development 2014

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Android Development: a System Perspective. Javier Orensanz

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

Technical Note. TN_134 FTDI Android D2XX Driver

Workshop on Android and Applications Development

Developing In Eclipse, with ADT

Home Course Catalog Schedule Pricing & Savings Training Options Resources About Us

Introduction to Android

How To Develop An Android App On An Android Device

Epidefender Studio Installation notice

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Android Development Tutorial. Nikhil Yadav CSE40816/ Pervasive Health Fall 2011

Introduction to Android Development

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Practical Android Projects Lucas Jordan Pieter Greyling

How to Set Up Your PC for Android Application Development

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

ADT Plugin for Eclipse

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Qualcomm IR-I 2 C Bridge Demo

Praktikum Entwicklung Mediensysteme (für Master)

Android Environment SDK

Android Development Tools for Eclipse

file://d:\webs\touch-base.com\htdocs\documentation\androidplatformnotes52.htm

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen,

How to Set Up Your PC for Android Application Development

Android Development: Part One

IDE Integration for Android* Part of the Intel Integrated Native Developer Experience (Intel INDE) 1.5.7

Android, Bluetooth and MIAC

Introduction to Android. CSG250 Wireless Networks Fall, 2008

How to develop your own app

Android Security Evaluation Framework

341 - Bioinformatics Android Coursework

Using Chroot to Bring Linux Applications to Android

Setting up Sudoku example on Android Studio

Transcription:

What else can you do with Android? Chris Simmonds Embedded Linux Conference Europe 2010 Copyright 2010, 2net Limited 1

Overview Some background on Android Quick start Getting the SDK Running and emulated environment 2

What is Android? Started in 2007 with formation of Open Handset Alliance http://www.openhandsetalliance.com/ A group of (currently) 76 mobile network operators, handset manufacturers, silicon vendors and software companies Google is the key player, of course The OHA sponsors the development of the Android operating system 3

No, but really? An open source software stack Linux kernel with patches Apache/BSD licensed user space, mostly Java application framework Using Dalvik run-time A set of Java apps (calendar, clock, etc.) Plus many more free and non-free apps Google Market 4

Android internals 5

Stuff using Android More than 50 hand sets Tablets ereaders Set top boxes 6

Why Android is important It is a standard implementation across all devices Good and well-documented application framework Good tools for developing and debugging Active development from OHA and community 7

Proposition Android is not just for smart phones and tablets Also suitable for a wide range of devices Battery-powered portable devices Devices with a touch screen Devices which require fast 2D and 3D graphics Test and Medical equipment Printers, building access, weighing scales... 8

Challenges when porting Android Non-mainline kernel need to merge Android patches The framework (written in Java) is not compatible with Sun/Oracle Java SE or ME The C/C++ support is not full ANSI/POSIX problems porting existing code Operating system start-up and configuration completely different to traditional Linux practices 9

Downloads from Google The SDK For developing Java apps http://developer.android.com The NDK For writing native (C/C++) code http://developer.android.com Android Open Source Project All the open source components http://source.android.com 10

Versions Version Code name Framework Release date API level 3 Gingerbread??Oct 2010 2.2 Froyo 8 May 2010 2.1 Eclair 7 Jan 2010 2 Eclair 5 Dec 2009 1.6 Donut 4 Sept 2009 1.5 Cupcake 3 Apr 2009 11

Quick start: the Android SDK The SDK contains everything you need to write apps and test them using the emulator In this section I will show you how to Download the SDK Create an AVD Start the emulator Log on to the emulated session using adb Install and use the Eclipse ADT plug-in 12

Installing the SDK Download SDK starter pack from http://developer.android.com/sdk/index.html e.g. android-sdk_r06-linux_86.tgz Extract files Add the tools directory to your path Run android Select and install the platform(s) you will be developing for 13

Creating a virtual device An Android Virtual Device (AVD) defines the hardware the emulator will emulate Create from the command line using android create avd -n AVDtest -t 1 Or graphically using the SDK and AVD manager (shown) Note the Skin section basically the screen resolution. The default is HVGA, 320 x 480 14

Run the emulator emulator -avd AVDtest You can also add: -show-kernel to show Linux boot messages -shell to give a root shell prompt 15

Using adb Android Debug Bridge A tool to connect to and interact with Android devices, including emulated ones Useful options for now list devices connect to a device run a shell 16

Adb example $ adb devices List of devices attached emulator-5554 offline $ adb -s emulator-5554 shell # cat /proc/cpuinfo Processor : ARM926EJ-S rev 5 (v5l) BogoMIPS : 242.48 Features : swp half thumb fastmult vfp edsp java CPU implementer : 0x41 CPU architecture: 5TEJ CPU variant : 0x0 CPU part : 0x926 CPU revision : 5 Hardware : Goldfish Revision : 0000 Serial : 0000000000000000 Note: Goldfish is the name of the emulator platform Since there is only one device you can miss off the -s $ adb shell # 17

System log: logcat logcat is a replacement for syslog Three logs: 'main' (default), 'radio', 'events' each is a ring-buffer of 64 KiB (default) $ adb logcat -b main I/DEBUG ( 30): debuggerd: Jun 30 2010 13:59:20 D/qemud ( 37): entering main loop I/Vold ( 28): Vold 2.1 (the revenge) firing up D/Vold ( 28): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media) I/Netd ( 29): Netd 1.0 starting... 18

Real hardware You can use adb to connect to real devices via USB Network Note: for production hardware you will need to enable Settings->Applications->Development->USB debugging and tick Settings->Applications- >Development->Unknown sources 19

Connecting via a network If your target hardware is networked you can use adb in this way export ADBHOST=192.168.1.101 adb shell # 20

Android Development Tool for Eclipse The ADT allows you to do everything mentioned so far in the Eclipse environment Create AVDs Run the emulator Create projects Write and debug code 21

Installing ADT Begin by installing Eclipse Then go to Help->Install new software Set the URL to Work with to https://dl-ssl.google.com/android/eclipse/ Select Developer Tools and click Install 22

ADT in action 23

Summary Android is a re-imagining of Linux for devices for phones and more.. The SDK contains everything you need to write apps and test them in the emulator or on real hardware 24