Embedded Android
Android is becoming a popular choice as an embedded operating system, largely because of its great UI and familiar programming interface. Android is often used in applications such as point of sale, test and measurement, industrial control, and information kiosks. The source code for Android is available through the Android Open Source Project (AOSP).
In this four day course you will design your own Android product, selecting the packages and configuration appropriate for the target platform. Beginning with a clean copy of AOSP, you will build the system images and flash them using fastboot. You will add a custom native service – a web server – and integrate it with the build. Then you will learn about the Android security framework and SELinux, and add SELinux policy files for the changes you have made. Later modules describe how SurfaceFlinger renders graphics for various displays, and how the framework integrates with specific hardware using the vendor HAL and the HAL Interface Definition Language, HIDL. Finally, there is the all-important topic of debugging and profiling the final system. All code and examples are based on Android version 8.1 “Oreo” and covers the new hardware abstraction layers introduced in Project Treble.
Roughly half of the course is taken by hands-on lab sessions during which you will apply the theory to create an embedded Android device.
Duration
4 days
Audience
This course is ideal for system architects, engineers and project leaders who want to know how Android works, and how to customize and extend the platform
Prerequisites
Good knowledge C/C++ and Java
Familiarity with Linux development and command-line tools
Materials
All students will receive:
Hands-on labs
An essential part of the training are the lab sessions, which take approximately 50% of the time. You will need a laptop or desktop to run the system development tools. We will provide a bootable USB hard drive with an appropriate version of Linux and cross tool-chain so there is no need to install Linux beforehand.
Outline
Introduction to Android
Creating a new Android product
The kernel
Booting Android
The Android build system
The Hardware Abstraction layer
* legacy HAL
* passthrouh and Same Process
* binderized HAL
Testing; CTS and VTS
The Android framework
Graphics
Applications
Debugging and profiling
Security
Integrating non-Android code
Copyright (c)Tech Support
All Rights Reserved