Training Catalog‎ > ‎

5-Day Advanced Android Native Programming

Advanced Android Native Programming

Length: 5 Days

Type: Hands-On

Target Audience: Android Builders, C/C++/ASM developers, Device manufacturers, Game developers, Performance critical code developers.


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

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


  • Essential:

    • The attendees should proficient with C or C++

  • Recommended:

    • Proficiency in Java programming is recommended, but not obligatory. The attendee be able to understand Java code though.

    • Experience writing Android Applications is recommended but is not obligatory

    • Some experience with Linux command line is recommended, but not obligatory


  • The Android Application building process and toolchains

  • The Android Makefile language

  • JNI/NDK primer

  • Android profiling/debugging tools

  • Hybrid Java/Native workflow

  • Platform debugging tools (Java and Native sides)

  • Native platform profiling tools

  • JNI essentials

  • JNI best practices and tools on the Android Platform (AOSP)

  • Using the NDK effectively

  • The Android Looper

  • Writing fully native activities

  • Using external libraries. Using OpenGL ES and OpenSL ES

  • Android HAL’s

  • Using your hardware effectively and natively

  • Linux game engines, Android game engines

  • Porting legacy code

  • Integrating 3rd party libraries

  • Advanced native Android Security

  • More native profiling/debugging

  • Introduction to Android Services and the Binder

  • The Android Native System Services

  • The Binder

  • Writing userspace binder code

  • Debugging your binder instances