an introduction to android internals

18
An Introduction to Android Internals Anjana Somathilake (makewita) Inside Android

Upload: anjana-somathilake

Post on 11-Jul-2015

428 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: An Introduction to Android Internals

An Introduction to Android InternalsAnjana Somathilake (!makewita)

Inside Android

Page 2: An Introduction to Android Internals

Why Internals?

Page 3: An Introduction to Android Internals

Android Internals?

A real driver knows exactly what's in his car.

Page 4: An Introduction to Android Internals

Bit of HistorySidekick smart phone by Danger Inc in 2002 - Google was the default search engine

Andy Rubin founded Android Inc. in October 2003 - Open OS for phone manufacturers

Google acquired Android Inc. in August 2005

Open Handset Alliance (OHA) was formed in November 2007

Google Android 1.0 (Alpha) is released in September 2008

"I don't understand the impact they are going to have.” ~Scott Horn, then head of the Windows

Mobile marketing team

HTC Dream a.k.a HTC G1 released in October of 2008 - First device to compete with Apple’s iPhone

Page 5: An Introduction to Android Internals

Versions

Alpha (1.0) Beta (1.1) Cupcake (1.5) Donut (1.6) Eclair (2.0–2.1) Froyo (2.2–2.2.3) Gingerbread (2.3–2.3.7) Honeycomb (3.0–3.2.6) Ice Cream Sandwich (4.0–4.0.4) Jelly Bean (4.1–4.3.1) KitKat (4.4–4.4.4) Lollipop (5.0)

Page 6: An Introduction to Android Internals

Ecosystem

Semiconductor Manufacturers System-on-Chip (SoC) - ARM, TI, Qualcomm, Freescale, and Nvidia

Device Manufacturers Motorola, Samsung, HTC, Sony, LG, Archos, Dell, and ASUS

Applications, Services and Markets Google, Amazon, Verizon, Sprint and Barnes & Noble

Page 7: An Introduction to Android Internals

Hardware and Compliance Requirements

“In principle, Android should run on any hardware that runs Linux. Android has in fact been made to run on ARM, x86, MIPS, …”

Page 8: An Introduction to Android Internals

Where is Android?More than just smartphones and tablets

+

: # +

$+

Automotive Home Entertainment Embedded Computing

Wearables

+

J

Page 9: An Introduction to Android Internals

Download: https://source.android.com/source/building.html “A 64-bit Linux or Mac system with 16GB of RAM/swap and >30GB of disk space to build the AOSP”

Browse Code: https://android.googlesource.com/

Android Open Source Project - (AOSP)

Python 2.6 -- 2.7, [python.org] GNU Make 3.81 -- 3.82, [gnu.org] JDK 7 [openjdk.java.net] Git 1.7 [git-scm.com]

Page 10: An Introduction to Android Internals

Architecture

Originals at: www.opersys.com/training/embedded-android

Page 11: An Introduction to Android Internals

App Developer’s ViewAndroid Software Development Kit (SDK) - Java

Native Development Kit (NDK) - C The infamous Angry Birds game is heavily built on the NDK

Apps will be killed (randomly) by the system , developers must code accordingly

Page 12: An Introduction to Android Internals

Inside Smart Phone

Originals at: www.opersys.com/training/embedded-android

Page 13: An Introduction to Android Internals

Inside SoC

Originals at: www.opersys.com/training/embedded-android

Page 14: An Introduction to Android Internals

Inside Android

Originals at: www.opersys.com/training/embedded-android

Page 15: An Introduction to Android Internals

Zygote

Page 16: An Introduction to Android Internals

System Startup

1.Bootloader

2.Kernel

3.Anroid Init

4.Zygote & Dalvik

5.System Server

6.Activity Manager

7.Launcher (Home)

Page 17: An Introduction to Android Internals

System Startup

Originals at: www.opersys.com/training/embedded-android

Page 18: An Introduction to Android Internals

Thank You!

Further Reading