Android Embedded (Deutsch)/(English)

Course Description

A very practical intensive training, in which participants will develop a complete embedded application with an embedded hardware.

This includes collecting and processing data as well as their visualization.

Course Content

  • Part 1
    • Theory: Android system architecture The participant is brought closer to the Android operating system. Android-specific mechanisms are explained and studied directly in concrete cases using the source code of the Android OS. Android services and daemons are explained and the functioning of embedded Linux drivers.
    • Practice: Compiling Android and Linux Kernel For the Sabre board (embedded platform) of the Linux kernel and the Android operating system is configured and compiled. Participants addressed the Android toolchain source code and development environment on Ubuntu 12.04 LTS. Kernel and operating system are then compiled and launched Android debugging on the serial console. As the basis of the Linaro Android build is based on Android 4.1 release 12:10.
  • Part 2
    • Theory: Linux kernel drivers and Java Native Interface Hardware connectivity for embedded applications is usually crucial. The participants will be explained how kernel features included and how can be added to the operating system. Android applications can take over the Java Native Interface use the kernel interface and so appeal to hardware directly from Java. We brought the participants to deal with JNI and kernel features in greater detail.
    • Practice: Increase kernel and Serial Interface Reconfiguring the kernel shows as the driver for the USB serial interface can be integrated. With a simple C application shows how a native executable is cross-compiled and the USB serial interface can be addressed. With an Arduino Uno, which measures a photo resistor via A / D converter, measurement values over USB serial read out.
  • Part 3
    • Theory: Android SDK and Eclipse IDE Using the introduction to the Android SDK, participants are getting to know the most important tools in the Android development. A simple example is shown Activities are created and why multithreading for Android is of particular importance. With essential tips when working with Eclipse software development is brought closer.
    • Practice: Java Native Interface and Data Logger Application An Android application for recording the photo resistor values shows how the kernel driver can be used in Java. JNI is read via the serial interface and pass data to the Java environment. The way of dealing with JNI and C is mediated, which plays a central role in the development of embedded Android.
  • Part 4
    • Theory: Continuing learning and tips & tricks Continuing parts of the Android source code is discussed in detail and Android projects will be analyzed. With doing changes to the Android "init" process, custom settings can be started, which easies debugging. Deeper insights into the Android source code passes on the procedure of adaptation of Androidspecific elements.
    • Practice: extension of the data logger, user-interface & network Based on state-of-the-art threading patterns is demonstrated as an application robust network features can be added. A "custom" view in addition is implemented, which the user visualize measured values over time.


Basic knowledge in C/C++, basic experience with Kernel, Linux, Bash and Ubuntu. Advantageous: knowledge of Eclipse and Android.

Please note: Java advanced techniques being discussed, therefore knowledge in Java development are advantageous.

Target Group

Software developer or projekt leader, who will develop or manage Android applications focused on embedded systems. The practical orientation of the course provides a good view into the development of device drivers, platform and application.

Course Material

  • course notes
  • Eval-Board / Develeopment Suite

FlexyTrain: Our flexibility – Your plus

No date fits you? No problem, we offer you maximum flexibility and together we will find an adequate date. Just Contact us!