Android OS Architecture

Android OS Architecture

Overview of the Android Architecture layers and components:
- Kernel layer
- Hardware abstraction layer
- Native libraries
- Android Runtime layer
- Application framework layer
- Application layer

In addition to it during this talk, we will talk about the difference between JVM, Dalvik and ART; Linux and Android security model and trends of Android.

2b0404a5db1a74f01bf3bf94d142e28c?s=128

Alex Zhukovich

March 29, 2018
Tweet

Transcript

  1. 4.
  2. 6.
  3. 13.
  4. 16.

    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)
  5. 17.

    Dalvik (Just In Time) vs ART (Ahead of Time) Installing

    Run Running... Compile Installing Run Running... Compile
  6. 19.
  7. 22.

    UID/GID - Android <permission name="android.permission.INTERNET" > <group gid="inet" /> </permission>

    https://android.googlesource.com/platform/frameworks/base/+/master/data/etc/platform.xml
  8. 23.
  9. 29.

    /data/data/package_name/shared_prefs/prefs <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <int name="theme" value="0"

    /> </map> val sharedPreferences = getSharedPreferences( "prefs", Context.MODE_PRIVATE) sharedPreferences .edit() .putInt( "theme", 0) .apply()
  10. 31.
  11. 32.
  12. 33.