Free Android training materials

Android robotAfter months of preparation, and after completing our first Android system development training session, we are proud to release our complete training materials under the Creative Commons Attribution – Share Alike 3.0 license.

Our course targets engineers who need to develop embedded systems with Google Android, customizing Android to support specific hardware and product requirements.

Here are the main topics that we cover:

  • Introduction to Android
  • Android source code and compiling
  • Linux kernel, configuration, compiling and booting
  • Bootloaders for Android
  • Android changes to the Linux kernel
  • Supporting new hardware
  • Development and debugging with ADB
  • Android’s build system
  • The Android filesystem
  • Android native layer and calling a C program from Android
  • Android framework and applications
  • Application development
  • The apk standard
  • System customization
  • Advise and resources

See the detailed agenda.

Just like the materials for our Embedded Linux system development and Embedded Linux kernel and driver development courses, this new courseware is meant to be be a useful resource for product developers around the world. It could also be used by engineers with sufficient Android experience to train their colleagues without having to spend months preparing slides and practical labs as we did.

Devkit8000 board from EmbestPractical labs are conducted on the Devkit8000 embedded board from Embest, with a TI OMAP3 CPU and an LCD touchscreen. As we use Linaro Android in our labs, it should be relatively easy to make these labs on other development boards with a Linaro supported CPU (TI OMAP, Freescale i.MX53 and i.MX6, ST Ericsson Nova and Samsung Exynos).

LaTeX sources for these materials are available on Free Electrons’ public git server.

To build these documents from source, you may need to install several packages (thanks to Huy, Bui Quang, for contributing the package list):

sudo apt-get install git-core inkscape texlive-latex-base \
texlive-latex-extra texlive-font-utils dia python-pygments \

You can then build the latest version as follows:

git clone git://
cd training-materials
make full-android-labs.pdf
make full-android-slides.pdf

The LaTeX format and the git repository make it easy to identify changes made since the last time you accessed the materials. We even have a training-materials-updates mailing list to receive notifications for updates to all our training materials. Compared to the Open Document Format that we used in the past, this should also make it considerably simpler to translate these documents and keep translations up to date.

As usual, comments, suggestions and translations are welcome. You can write to the feedback address available on our contact page.

About Michael Opdenacker

Michael Opdenacker is the founder of Free Electrons. He is best known for all the free embedded Linux and kernel training materials that he created together with Thomas Petazzoni. He is always looking for ways to increase performance, reduce size and boot time, and to maximize Linux' world domination. More details...
This entry was posted in Technical. Bookmark the permalink.

8 Responses to Free Android training materials

  1. Werner Hilf says:

    Dear Michael,
    we like your free android training materials and we want to make use of it. In this way we want to thank you for your excellent job

    from HILF!GmbH, Munich/Germany

  2. Hi,

    I just wanted to highlight a nice blog post complementing the instructions to build our materials:

    Thanks to Huy, Bui Quang (Kevin)


  3. satyanarayana says:

    Hi, I perused Android training materials & found useful. I have 1 question: is there any way to simulate boards mentioned in this training materials? To be presise Can I simulate the boards using Qemu etc? Best regards

    • Hi,

      Unfortunately, the board that we use is not supported by QEMU. You may try with the Linaro version of QEMU, supporting the TI Beagle Board, which is similar.


  4. Adnan says:

    Can’t we use the android emulator for testing these builds? As it comes with general android sdk and perfectly works with all version of android.

    Thanks for contributing your material to the mass.

    Good day.

Comments are closed.