0% found this document useful (0 votes)
94 views24 pages

Inside Android: What Else Can You Do With Android?

Android is an open source software stack Linux kernel - with patches Apache / BSD licensed user space a set of Java apps (calendar, clock, etc.) Plus many more free and non-free apps Google Market Inside Android Android internals more than 50 hand sets tablets eReaders set top boxes Inside android.

Uploaded by

Sonali Gaikwad
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views24 pages

Inside Android: What Else Can You Do With Android?

Android is an open source software stack Linux kernel - with patches Apache / BSD licensed user space a set of Java apps (calendar, clock, etc.) Plus many more free and non-free apps Google Market Inside Android Android internals more than 50 hand sets tablets eReaders set top boxes Inside android.

Uploaded by

Sonali Gaikwad
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

What else can you do with Android?

Inside Android
Chris Simmonds Embedded Linux Conference Europe 2010
Copyright 2010, 2net Limited

Inside Android

Overview

Some background on Android Quick start

Getting the SDK Running and emulated environment

Inside Android

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

Inside Android

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

Inside Android

Android internals

Inside Android

Stuff using Android

More than 50 hand sets Tablets eReaders Set top boxes

Inside Android

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

Inside Android

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 ...

Inside Android

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 completely different to traditional Linux practices

Operating system start-up and configuration

Inside Android

Downloads from Google

The SDK

For developing Java apps http://developer.android.com For writing native (C/C++) code http://developer.android.com All the open source components http://source.android.com
10

The NDK

Android Open Source Project


Inside Android

Versions

Version 3 2.2 2.1 2 1.6 1.5

Framework API level Gingerbread ? Froyo 8 Eclair 7 Eclair 5 Donut 4 Cupcake 3 Code name

Release date ?Oct 2010 May 2010 Jan 2010 Dec 2009 Sept 2009 Apr 2009

Inside Android

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

Inside Android

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

Inside Android

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

Inside Android

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

Inside Android

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

Inside Android

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 #

Inside Android

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 ...

Inside Android

18

Real hardware

You can use adb to connect to real devices via

USB Network for production hardware you will need to enable Settings->Applications->Development->USB debugging and tick Settings->Applications>Development->Unknown sources

Note:

Inside Android

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 #

Inside Android

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

Inside Android

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

Inside Android

22

ADT in action

Inside Android

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

Inside Android

24

You might also like