Course Outline
Introduction
Preparing the Development Environment
- Eclipse and Android SDK
- System programming and the C/C++ programming language
- Organizing source code repositories
Overview of Linux Platform Architecture
- Understanding the Android file structure
- How code is organized in Android
- How system services (applications) talk to hardware
Linux Kernel
- Understanding the Android device driver framework
- Interfacing hardware (Sensors, Camera, Audio) to Android HAL
- Compiling the Kernel
Android HAL
- Understanding HAL (Hardware Abstraction Layer)
- Interfacing HAL to system services (applications)
System Programming
- Understanding the Android build system
- Building and debugging an Android system
- Debugging the boot up process
Android for Embedded Platforms
- Overview of virtual hardware (translators, bridges, simulators, emulators, and virtual machines)
- Customizing the Android Emulator
- Customizing Android for ARM-based systems
Android Networking
- Enabling Wi-Fi
Adding New Hardware
- Integrating hardware devices
- Enabling graphics
Deploying Android
- Creating OTA packages
Troubleshooting
- Android recovery
Summary and Conclusion
Requirements
- C/C++ programming experience.
- Java programming experience.
- Knowledge of hardware and software concepts.
Audience
- Linux system developers
- Android system programmers
- Developers who want to get into Android system programming
Testimonials (5)
Trainer was willing to explore additional problems in dagger.
Susheel - Home
Course - Dependency Injection with Dagger 2
good preparation and knowledge of the trainer + commitment
lukasz - DPDgroup IT Solutions sp. z o.o.
Machine Translated
Passion and extensive commercial experience of the trainer, which makes him an excellent listener.
- Weegree Sp. z o.o. Sp.k.
Course - Develop Android Applications
Machine Translated
I really enjoyed the fairly broad coverage of topics.
john harrigan
Course - Android Development
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.