Android Internals

Android_Internals - Version:1
The course describes in details the software layers of the Android operating system and their components, starting from the Linux kernel, continue with the native layer ending with the framework layer. A deep knowledge of the internal mechanisms of an operating system can help programmers write efficient applications and helps solving problems. It is also essential for those who intend to build a customized Android OS.
Intended audience
Android programmers and support people who want better understanding of the operating system. Prerequisites: A previous knowledge of Android. Basic knowledge of Linux. Basic knowledge in C, C++ and Java.
Expand All
  • General OS Overview
    • Operating system components
    • Operation modes
    • Android architecture
  • The Linux kernel
    • Linux kernel overview
    • Linux memory management
    • Linux Process Management
    • Linux I/O
    • Android modified kernel
  • Android file systems
    • Android partitions
    • Mounts in Android
  • The native layer
    • Native daemons
    • Android Runtime (ART)
    • External open-source libraries
  • The framework layer
    • Application components
    • Managers
    • The view system
    • Binder at framework layer
    • System services
  • Android boot process
    • The boot loader
    • The kernel and initramfs
    • The first stage init
    • The second stage init
    • Java level startup
  • Android Security
    • Application sandboxing
    • Trusted Execution Environment (TEE)
    • Authentication
    • Encryption
    • Verified boot
  • Android Open-source Project (AOSP)
    • Hardware requirements
    • Download the AOSP source tree
    • Building an Android image from the source
  • Modularization of the Android OS
    • Project Treble
    • The Generic Kernel Image (GKI) project
    • Customizing Android
    • Custom APIs
    • Custom user interface
    • Custom native code
    • Adding device drivers