8. %E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%97%E0%B8%B1%E0%B8%9A%E0%B9%83%E0%B8%88
E0-245: ASP
Transcript of E0-245: ASP
![Page 1: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/1.jpg)
E0-245: ASP
Lecture 2: Android Internals
Dipanjan Gope
![Page 2: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/3.jpg)
3
Dipanjan Gope
Android Stack
![Page 4: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/4.jpg)
4
Dipanjan Gope
Android Stack
Ref: http://www.tutorialspoint.com/android/android_architecture.htm
![Page 5: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/5.jpg)
5
Dipanjan Gope
Android Stack
https://source.android.com/source/index.html
![Page 6: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/6.jpg)
6
Dipanjan Gope
Dalvik Virtual Machine
http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf
![Page 7: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/7.jpg)
7
Dipanjan Gope
Dalvik Virtual Machine
http://davidehringer.com/software/android/The_Dalvik_Virtual_Machine.pdf
![Page 8: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/12.jpg)
12
Dipanjan Gope
Android APK
Project Directory
![Page 13: E0-245: ASP](https://reader030.fdocuments.us/reader030/viewer/2022012621/61a1b0332943c54e64495b1b/html5/thumbnails/13.jpg)
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