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


Related Courses

Android - The Basics

  28 hours

Develop Android Applications

  21 hours

Android Development

  28 hours

Android Fundamentals

  56 hours

Android Fundamentals - Fast Track

  28 hours

Android System Programming

  28 hours

Android Applications Testing

  21 hours

Dependency Injection with Dagger 2

  14 hours

Cross-platform mobile development with PhoneGap/Apache Cordova

  21 hours

Android Nougat for Android Developers

  21 hours

Java Fundamentals for Android

  14 hours

Kivy: Building Android Apps with Python

  7 hours

Kotlin for iOS and Android Development

  35 hours

RxJava for Android Developers

  21 hours