Advanced Android Programming

Download curriculum
Learn to optimize and debug Android at its critical performance and security levels, using the Native Development Kit (NDK). 

The course covers advanced topics in the Android Operating System required to implement performance critical, security critical and System Programming from within Android Native Apps, as well as from within the Android Platform base. 

In addition, the course will cover thoroughly the topics of porting applications to Android, and provide the attendees with the methodology of doing so. 

The course is intended for game developers, High Performance Computing developers, platform developers, security personnel, and anyone willing to write and/or debug performance critical code.

Course Duration: 5 days
1. Understand Android design considerations
2. Understand the Android stack and unique characteristics, from the Hardware Layer, through the Linux kernel and native frameworks
3. Learn how to communicate with the Java framework and user applications
4. Learn how to optimize JNI based code and use hardware specific instructions
5. Learn how to port existing native code to Android
6. Learn how to harden Android application security using native techniques
7. Master the Android build system, and integrate custom toolchains 
8. Learn to debug Android internals effectively
9. Learn how to use libraries such as OpenGL and OpenSL
10. Learn how to write fully native applications, daemons and libraries
11. Learn to write native binder code
12. Learn how to write HAL's to support new hardware
Android Builders, C/C++/ASM Developers, Device Manufacturers, Game Developers, Performance Critical Code Developers, Platform Developers, Security Researchers
1. Course and labs book
Next course will be held on:
 Please contact us