Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Android OS Architecture @Alex_Zhukovich
Slide 2
Slide 2 text
https://en.wikipedia.org/wiki/Andy_Rubin https://www.gv.com/team/rich-miner http://www.seriousbiz.com https://andro4all.com/2018/03/creadores-android-actualidad
Slide 3
Slide 3 text
https://en.wikipedia.org/wiki/Google_logo https://opensource.org https://en.wikipedia.org/wiki/Open_Handset_Alliance
Slide 4
Slide 4 text
Android versions ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
Slide 5
Slide 5 text
Android Architecture
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
Kernel level
Slide 8
Slide 8 text
Hardware abstraction layer
Slide 9
Slide 9 text
Native libraries
Slide 10
Slide 10 text
Android Runtime
Slide 11
Slide 11 text
Application framework
Slide 12
Slide 12 text
Application layer
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
Dalvik vs ART
Slide 15
Slide 15 text
Why do we need a Virtual Machine? VM
Slide 16
Slide 16 text
Compilation JVM vs DVM Java Compiler (javac) Java Source Code (*.java) Java Bytecode (*.class) Java Virtual Machine Java Source Code (*.java) Java Bytecode (*.class) Dalvik Virtual Machine Dalvik Bytecode (*.dex) DEX Compiler Java Compiler (javac)
Slide 17
Slide 17 text
Dalvik (Just In Time) vs ART (Ahead of Time) Installing Run Running... Compile Installing Run Running... Compile
Slide 18
Slide 18 text
ART Benefits: ● ● ● Drawbacks: ● ●
Slide 19
Slide 19 text
Security
Slide 20
Slide 20 text
UID/GID - Linux
Slide 21
Slide 21 text
UID/GID - Linux
Slide 22
Slide 22 text
UID/GID - Android https://android.googlesource.com/platform/frameworks/base/+/master/data/etc/platform.xml
Slide 23
Slide 23 text
Resources
Slide 24
Slide 24 text
Sharing data and resources between applications
Slide 25
Slide 25 text
Sharing data and resources between applications android:sharedUserId="com.example.test.sharedUID"
Slide 26
Slide 26 text
Sharing data and resources between applications android:sharedUserId="com.example.test.sharedUID"
Slide 27
Slide 27 text
SharedPreferences isolation
Slide 28
Slide 28 text
SharedPreferences isolation /data/data/package_name/shared_prefs/
Slide 29
Slide 29 text
/data/data/package_name/shared_prefs/prefs val sharedPreferences = getSharedPreferences( "prefs", Context.MODE_PRIVATE) sharedPreferences .edit() .putInt( "theme", 0) .apply()
Slide 30
Slide 30 text
Database isolation /data/data/package_name/databases/
Slide 31
Slide 31 text
Trends
Slide 32
Slide 32 text
No content
Slide 33
Slide 33 text
Q&A 1. 2.