While Android has been created for mobile devices — phones first and now tablets — it can, nonetheless, be used as the basis of any touch-screen system, whether it be mobile or not. Essentially, Android is a custom-built embedded Linux distribution with a very elaborate and rich set of user-space abstractions, APIs, services and virtual machine. This four-part workshop is aimed at embedded developers wanting to build touch-based embedded systems using Android. It will cover Android from the ground up, enabling developers to get a firm hold on the components that make up Android and how they need to be adapted to an embedded system.
Specifically, Karim tarts by introducing Android’s overall architecture and then proceeds to peel Android’s layer one-by-one. First, he covers the Android Open Source Project (AOSP), the open source project under which Android’s source code is released. He then digs into the native Android user-space, Android’s power tools, and covers how hardware support is implemented in Android. Given that Android is built on top of Linux, he also goes over some embedded Linux tricks and sees how the kernel is modified to support the Android user-space. In addition, he looks at the System Server, the Android Framework and core Android applications, and how to customize them.