Android Internals

Android Internals

The Android Internals training course is designed for those who are already familiar with basics of the Android SDK and are looking to customize and/or extend the functionality of the platform.

Android Internals focuses on the Android NDK, and Android IDL APIs, to give you a clean access to underlying hardware and services, with future compatibility in mind. You will learn how to build custom images and hack the platform.

  • Overview
  • Outline
  • Instructors
  • Reviews
Duration: 5 Days


By completing Android Internals training course you will be able to:

  • Explain the anatomy of the Android platform and get is physiology (layer interactions)
  • Build native applications in Android using JNI and NDK
  • Take advantage of Android AIDL to build IPC-enabled bound services
  • Build the entire Android platform from source and get what's what
  • Customize and extend the Android platform to build custom ROMs
  • Modify and extend Android frameworks and services
  • Take advantage of custom hardware with Android
  • Understand where Android departs from standard Linux


This Android Internals course is for developers who want to dig deeper than the standard Android SDK. It is for those who want to hack the system a bit in order to add system services and hardware support for non-standard components or port Android to completely new boards.

To take this course, you should have a firm understanding of the following:


You should be able to answer most of the following questions:

  • What is a difference between a class and an object?
  • What is the difference between static and non-static field?
  • What is the difference between extends and implements keywords?
  • What is an anonymous inner class?
  • What is the purpose of @Override?


To get the most benefit out of this class you must have a basic understanding of C and C++. For example, you should be able to answer the following:

  • What is a header file?
  • What is gcc and how to use it?
  • Basic usage of sprintf()
  • What is make and how does it work?
  • Be able to read and understand basic Makefiles
  • Be able to read and understand shell scripts


You should be familiar with basic Linux operating system. For example, you should be able to answer most of the following:

  • How do you use use the following commands: ls, ps, cp, mv, pwd, cat, chmod, chown, mount, and similar.
  • What is the init process?
  • What are users and groups in Linux and how do r/w/x permissions work?

Upcoming Classes

No classes have been scheduled, but you can always Request a Quote.

Request a private course for your team

Custom Quote

Don't see a date that works for you?

Request a Class

Confirmed Class