- Assess advantages and tradeoffs using Android in smart IoT devices
- Master practical processes for customizing Android
- Set up a build platform, download the AOSP source, and build an Android image
- Explore Android's components, architecture, source code, and development tools
- Understand essential kernel modules that are unique to Android
- Use Android's extensive security infrastructure to protect devices and users
- Walk through Android boot, from power-on through system initialization
- Explore subsystem startup, and use Zygote containers to control application processes
- Interface with hardware through Android's Hardware Abstraction Layer (HAL)
- Provide access to Java programs via Java Native Interface (JNI)
- Gain new flexibility by using binderized HAL (Project Treble)
- Implement native C/C++ or Java client apps without bundling vendor libraries