a

Android Internals Training

5 Days

  • Introduction to Android  Architecture (AOSP)
  • Android Kernel Architecture and Driver  code walk
  • ( How to add driver support of Binder, Ashmem, Wakelock….)
  • Bootloader and Bootchain
  • Android Secure/Insecure  Device
  • Kick start Android Framework  (Download and setup code )
  • All about repo tool, make and build process
  • How to compile and flash the Android image (boot.img, system.img …)
  • Android Booting process (Linux to final Launcher Home screen )
  • What is fastboot and how to use
  • Core language fundamentals
  • Functions
  • Arrays
  • Slices
  • Maps
  • Defer, Panic and Recover
  • Error handling

 

About this course

DURATION: 5 days

COURSE CONTENT

Day 1 :

  • Introduction to Android  Architecture (AOSP)
  • Android Kernel Architecture and Driver  code walk
  • ( How to add driver support of Binder, Ashmem, Wakelock….)
  • Bootloader and Bootchain
  • Android Secure/Insecure  Device
  • Kick start Android Framework  (Download and setup code )
  • All about repo tool, make and build process
  • How to compile and flash the Android image (boot.img, system.img …)
  • Android Booting process (Linux to final Launcher Home screen )
  • What is fastboot and how to use

Lab Exercises with Hands-on

  • How to setup toolchain and compile Linux kernel for android
  • How to set up and compile android
  • How to flash android image using fastboot or sdcard
  • Power Management Framework (Introduction, Work, source code walk )
  • Password Management (Introduction, Work, source code walk )
  • System Server (Introduction, Work, source code walk )
  • Package Manager(Introduction, Work, source code walk )
  • Activity Manager(Introduction, Work, source code walk )
  • Media Server Architecture (Introduction, Work, source code walk )
  • Android A/V Architecture (Introduction, Work, source code walk )
  • Android system services (Introduction, Work, source code walk )
  • How to add New system service to an Android framework, HAL and JNI
  • Adding support for the new sensor in the Android HAL layer (intro and demo)

Lab Exercises with Hands-on

  • Demo to add new sensor support in android HAL
  • Demo to add new service in the Android framework
  • Android Treble
  • What is Android HIDL component
  • Introduction to Android  HAL Layers (Introduction, Work, source code )
  • Adding support for new hardware in android HAL layer (Intro and demo)
  • Camera HAL and Framework(Introduction, Work, source code walk )
  • Audio HAL and Framework(Introduction, Work, source code walk )
  • Audio and Surface Flinger(Introduction, Work, source code walk )
  • How to include a custom component or stock app or libraries?
  • How to add new Vendor support in android  source code
  • How to add a new application in android source code

Lab Exercises with Hands-on

  • Demo to add new vendor support in the Android build system
  • Demo to add a new custom application to build android
  • About Android, mk, Device.mk  and Its configuration
  • What Android.bp file and its configuration
  • Role of Zygote and ART in Android (Introduction, Work, source code )
  • Android Debugging (SDK tools, DDMS, ADB, LOGCAT)
  • Android Boot & Memory Optimizations (Introduction, Work, source code )
  • Android  System performance and stability
  • AFW with Device Policy Controller
  • What is SFI/MFI?
  • What is OTA? (Full and Incremental )

Lab Exercises with Hands-on

  • Demo on Add new device.mk
  • Hands-on Debugging Android Linux, Filesystem and framework
  • Android Security Architecture Overview
  • System and Linux kernel Security Introduction  
  • Android Application Security Introduction
  • Authentication Overview with emphasis on Fingerprint and Gatekeeper component
  • All about Keystore and TrustZone (Trusty API)
  • Encryption- File-Based Encryption vs Full-Disk Encryption
  • What is Secure Token loading/design, Token signing
  • Android SELinux Implementation and customizations
  • Verified Boot
  • What is vold and fstab files?
  • What is CTS and VTS in android?

Lab Exercises with Hands-on

  • Demo on Add new SELinux policy in android device
  • Hands-on to Setup and Run the CTS in android device
  • JPA Rest