e0-245: asp

13
E0-245: ASP Lecture 2: Android Internals Dipanjan Gope

Upload: others

Post on 27-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E0-245: ASP

E0-245: ASP

Lecture 2: Android Internals

Dipanjan Gope

Page 2: E0-245: ASP

2

Dipanjan Gope

• Mobile apps vs. desktop software

• Statistics of smart-phone usage

• History of Android

• Examples of popular Android applications

• Android architecture and building blocks

• Android setup on laptop

Module 0: Basic Setup

Page 3: E0-245: ASP

3

Dipanjan Gope

Android Stack

Page 4: E0-245: ASP

4

Dipanjan Gope

Android Stack

Ref: http://www.tutorialspoint.com/android/android_architecture.htm

Page 5: E0-245: ASP

5

Dipanjan Gope

Android Stack

https://source.android.com/source/index.html

Page 6: E0-245: ASP

6

Dipanjan Gope

Dalvik Virtual Machine

http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf

Page 7: E0-245: ASP

7

Dipanjan Gope

Dalvik Virtual Machine

http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf

Page 8: E0-245: ASP

8

Dipanjan Gope

• Licensing model

• JVM: same size fits all

• Dalvik: Compressed package for mobile

• Register vs. stack-based VM

Dalvik vs. JVM

Page 9: E0-245: ASP

9

Dipanjan Gope

Dalvik vs. JVM

https://www.youtube.com/watch?v=byFTAhXVF7k San Francisco Android User Group held an event on February 23rd, 2010 with Marko Gargenta who presented on Android Internals and ND

Page 10: E0-245: ASP

10

Dipanjan Gope

• VM at boot time

• Fork new VMs on request

• Sharing of libraries across VMs

• Quick start-up time for app VMs

Android Zygote

Page 11: E0-245: ASP

11

Dipanjan Gope

• Full form: Android Application Package

• Package file format for distribution

• Self-sustained collection of:

- manifest

- certificates

- lib

- res

- dex files

Android APK

http://en.wikipedia.org/wiki/Android_application_package

Page 12: E0-245: ASP

12

Dipanjan Gope

Android APK

Project Directory

Page 13: E0-245: ASP

13

Dipanjan Gope

• Multi-user linux system, each app is a different user

• App is assigned a unique user-id

• Each app has its own VM

• All permissions granted at install time

App: principle of least privilege