Android development training

Our embedded Android development course is based on real experience, and is mostly hands-on

Through theory and practical labs, you will get familiar with compiling and booting Android. You will also learn how to adapt it to support a new embedded board. You will build a complete system, see how to access specific hardware components, customize the file-system and use efficient debug techniques.


Example of the content of a standard Android development course (click on the contents to see more details):

Introduction to Android

    • Features for Engineers
    • History
    • Android releases
    • Android versions
    • Architecture
    • Ecosystem
    • Licenses
    • AOSP
    • Development Tools

Android Source Code

    • Repo
    • Download Source Code
    • Source code organization

Android Bootloaders

  • Boot Sequence
  • Bootloaders
  • Booting on embedded CPUs


  • Defi nition and protocol
  •  Session example
  • Fastboot Command

Linux kernel introduction

  • Toolchain De finition and Components
  • Definition
  • Machines in Build Procedures
  • Di fferent Toolchain Build Procedures
  • Components
  • Linux features
  • Inside the Linux Kernel
  • Linux License
  • System Calls
  • Virtual Filesystems
  • Cross-compiling the kernel
  • Device Tree
  • Building and installing the kernel

Changes introduced in the Android Kernel

  • Binder
  • Logger
  • Anonymous Shared Memory (ashmem)
  • Alarm Timers
  • Low Memory Killer
  • The ION Memory Allocator
  • Network Security
  • Various Drivers and Fixes

Android Build System

  • Con guration of the Build System
  • Compilation
  • Add a New Product
  • Add a New Module

Android Filesystem

  • Principle and Solutions
  • Contents
  • Minimal fi lesystem

Developing and Debugging with ADB

  • Introduction
  • Use of ADB
  • Examples

Android Native Layer

  • Bionic
  • Toolbox
  • Init
  • Various daemons
  • PowerManager
  • SurfaceFlinger
  • Stagefright
  • Dalvik and Zygote
  • Hardware Abstraction Layer
  • JNI

Android Framework and Applications

  • Service Manager and Various Services
  • Inter-Process Communication, Binder
    and AIDLs
  • Various Java Services
  • Extend the framework

Android Application Development

  • Basics
  • Activities
  • Services
  • Content Providers
  • Managing the Intents
  • Processes and Threads
  • Resources
  • Data Storage
  • Android Packages (apk)

Tips and Resources

  • Books
  • Websites
  • Conferences
Contact us
* indicates required field

How long is the training?

The duration of the training can be adapted to the client’s needs.
The normal training lasts 4 days – from 9am to 5pm.


  • Be proficient in C programming language
  • Be familiar with basic Linux command line and utilities
  • Know the basics of building programs

(these prerequisites are not mandatory but would help in being more efficient during the training)


The course is given in English or in French.

The training material is in English in all cases.

Who is this course aimed at?

The BayLibre Training Courses are aimed at:

  • Software and System Engineers

    • Understand the specifics of Android
    • Identify the different frameworks, their features, their limitations
    • Secure the usage of Android design rules
    • Learn to write a driver and integrate it into the Android HLOS from A to Z
    • Experiment it on a recent open source target
  • Managers and Leaders

    • Understand how the Android eco-system works
    • Identify the benefits and caveats of using Android
    • Understand and learn to chose between the different versions and flavors of Android
    • Identify the impact of the frameworks on the software design
  • Hardware Engineers

    • Understand the Android hardware/software interface
    • Learn how to write and integrate drivers into Android
    • Identify the good writing practices
  • System Architects

    • Get an overview of the Android architecture
    • Understand how this architecture is based on several different models
    • Identify the frameworks easing the Android Drivers design
    • Make the best use in designing a system of these features

BeagleBone Black as embedded target

The target used during the training is the BeagleBone Black, one of the latest platform offering extensive open source support. This board from Texas Instruments offers a Cortex-A8 clocked at 1GHz.

Embedded Android Development Course Price

  • Linux Kernel and Drivers Course
  • 1790
    VAT excluded, per person*
  • * Special rate for students, please contact us.

Click here to add your own text