- Home
- Engineering Services
- Embedded Software Training Courses
- Embedded Android Boot Camp
Course Overview
Embedded Android Boot Camp
Barr Group's Embedded Android Boot Camp™ is a 4-day immersion into the Linux kernel and Android operating system and its use on embedded hardware platforms. This intense educational (yet fun) program is designed to lead software engineers through the steps of bringing up embedded hardware with the Android OS, developing custom device drivers, and publishing the APIs of those custom Linux device drivers to Android apps. Android Oreo features, such as the Soong build system and Project Treble will also be included.
Attendees will complete approximately ten hands-on programming exercises, including a large app-to-driver capstone. Exercises are interspersed with the lectures and all take place on an ARM Cortex-A8 processor board that attendees can keep. Students will use dedicated, high-performance cloud servers to modify and build Android and the Linux kernel.
Topics covered during this course include:
- Building and Installing Linux and Android
- Linux Kernel Architecture
- Linux Kernel Modules
- Linux Drivers
- Android Architecture
- Java and JNI
- Android System Server
- Exposing Unique Hardware to Android Apps
- Android Security
- New Android Oreo Features (Project Treble and Soong Build System)
Attendees will also learn to:
- Build a bootloader, the Linux kernel, and Android
- Create and debug Linux and Android device drivers for unique hardware
- Add custom system services and frameworks to Android
- Call custom C libraries from Java using JNI
- Integrate custom Android and C apps into Android
- Use Binder for Interprocess Communication
- Improve the security of your Android device
- Tips for speeding Android ports and AOSP builds
This course is appropriate for:
- Embedded software developers moving up to the Android operating system or Android app
- Linux software developers who want to learn the internals of the Linux kernel or Android OS
Prerequisites: Attendees should arrive with a working familiarity of the C programming language and experience writing embedded software.
Requirements: Each student will need to bring a computer, such as a laptop, running Windows 7 (or later), Mac OS X, or Linux with at least one available USB port — two are recommended — and administrator privileges. Students will be required to install course materials and several small development tools on their computer.