Course Outline


Preparing the Development Environment

  • Eclipse and Android SDK
  • System programming and the C/C++ programming language
  • Organizing source code repositories

Overview of Linux Platform Architecture

  • Understanding the Android file structure
  • How code is organized in Android
  • How system services (applications) talk to hardware

Linux Kernel

  • Understanding the Android device driver framework
  • Interfacing hardware (Sensors, Camera, Audio) to Android HAL
  • Compiling the Kernel

Android HAL

  • Understanding HAL (Hardware Abstraction Layer)
  • Interfacing HAL to system services (applications)

System Programming

  • Understanding the Android build system
  • Building and debugging an Android system
  • Debugging the boot up process

Android for Embedded Platforms

  • Overview of virtual hardware (translators, bridges, simulators, emulators, and virtual machines)
  • Customizing the Android Emulator
  • Customizing Android for ARM-based systems

Android Networking

  • Enabling Wi-Fi

Adding New Hardware

  • Integrating hardware devices
  • Enabling graphics

Deploying Android

  • Creating OTA packages


  • Android recovery

Summary and Conclusion


  • C/C++ programming experience.
  • Java programming experience.
  • Knowledge of hardware and software concepts.


  • Linux system developers
  • Android system programmers
  • Developers who want to get into Android system programming
 28 Hours

Number of participants

Price per participant

Testimonials (4)

Related Categories