Course Outline


  • Android HAL as a hardware specific implementation.

Overview of the Android Platform Architecture

The HAL Development Cycle for Hardware Vendors

Case Study: Interfacing Low-Level C/C++ with High-Level Java

Preparing the Development Environment

Setting up an Android Emulator

Creating a HAL Implementation

Understanding the File Structure of a HAL Interface (C headers, hardware/libhardware, etc.).

HAL vs HIDL (HAL Interface Definition Language)

Coding for HIDL on Android O.

Packaging Code into a Library Module (.so) File

Writing an Application Level Code in the Java API Framework

Calling the Device Hardware from a Java Service

Debugging the HAL Module

Deploying a HAL Module

Updating HAL to New Versions of Android OS


Summary and Conclusion


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


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

Number of participants

Price per participant

Testimonials (4)

Related Categories