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.
To take this course, you should have a firm understanding of the following: Java 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? C/C++/Make 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 Linux 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?
5 Days/Lecture & Lab
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.
- Android Overview Module
- Android Stack Module
- Android Native Layer
- Android Application Framework Layer
- Android Applications Layer
- Java Native Interface (JNI) and the Android Native Development Kit (NDK)
- Android Inter-Process Communication (IPC) with Binder and AIDL
- Android Security Essentials
- Building Android from Source
- Android Startup
- Android Subsystems
- Creating a Customized Android System Image
- Android Tools and Debugging