0% found this document useful (0 votes)
26 views

001 IntroductionToPlatform

The document provides an overview of the Android software stack and development environment, including: - The Android SDK which allows creating apps using libraries and tools with documentation available online. - Key components of Android including the Linux kernel, libraries, frameworks, and default apps like Home, Contacts, Phone, and Browser. - The Dalvik virtual machine which executes apps written in Java and converted to dex bytecode. - System services that manage windows, notifications, location, and sharing data between apps.

Uploaded by

Arman Ali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

001 IntroductionToPlatform

The document provides an overview of the Android software stack and development environment, including: - The Android SDK which allows creating apps using libraries and tools with documentation available online. - Key components of Android including the Linux kernel, libraries, frameworks, and default apps like Home, Contacts, Phone, and Browser. - The Dalvik virtual machine which executes apps written in Java and converted to dex bytecode. - System services that manage windows, notifications, location, and sharing data between apps.

Uploaded by

Arman Ali
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Romain

Chiappinelli

A software stack for mobile devices:


OS kernel, system libraries, application
frameworks & key apps

Android SDK for creating apps


Libraries & development tools
Lots of documentation. Start browsing
today!

See: http://developer.android.com/





training

Security
Memory & process management
File & network I/O
Device drivers

Power management
Android shared memory
Low memory killer
Interprocess communication
And much more

System C library
Bionic libc

Surface Mgr.
Display
management

Media
Framework
Audio/ Video

Webkit
browser engine

OpenGL
Graphics engines

SQLite
Relational
database engine

Two main components


Core Java libraries
Dalvik Virtual Machine

basic java classes -- java.*, javax.*


app lifecycle -- android.*
Internet/Web services -- org. *
Unit testing -- junit.*

Apps are executed by the dalvik


virtual machine

App written in java


compiled to Java bytecode files

dx converts java bytecode files to a


single dex bytecode file (classes.dex)
Dalvik executes dex bytecode file

Designed for resource-constrained


environments
Slower CPU
Less RAM
Limited battery life

See:
Dalvik VM Internals by Dan Bornstein
http://www.youtube.com/watch?
v=ptjedOZEXPM

Keeps track of app packages on


device

Manages the windows comprising


an App

Notification
Bar

Subwindow

Main
Window

Provides common user interface


elements
e.g., icons, text entry boxes, buttons and
more

Tabs

TextView

Buttons

Manages non-compiled resources


e.g., strings, graphics, & layout files

Manages app lifecycle and


navigation stack

Inter-application data sharing

Provides location & movement


information

Place notification icons in the status


bar when important events occur

Notification

Standard apps include:


Home main screen
Contacts contacts database
Phone dial phone numbers
Browser view web pages
Email reader compose & read email
messages

Nothing special about these apps


You can substitute your own or 3rd
party app for any of them

Android Development Environment

You might also like