Pro Android C++ with the NDK

  • Authors
  • Onur¬†Cinar

Table of contents

  1. Front Matter
    Pages i-xxiv
  2. Onur Cinar
    Pages 1-39
  3. Onur Cinar
    Pages 41-66
  4. Onur Cinar
    Pages 95-126
  5. Onur Cinar
    Pages 127-154
  6. Onur Cinar
    Pages 155-177
  7. Onur Cinar
    Pages 179-208
  8. Onur Cinar
    Pages 259-273
  9. Onur Cinar
    Pages 275-284
  10. Onur Cinar
    Pages 285-333
  11. Onur Cinar
    Pages 335-361
  12. Onur Cinar
    Pages 363-380
  13. Back Matter
    Pages 381-389

About this book


Android is one of the major players in the mobile phone market. Android is a mobile platform that is built on the top of Linux operating system. The native-code support on Android offers endless opportunities to application developers, not limited the functionality that is provided by Android framework. Pro Android C++ with the NDK is an advanced tutorial and professional reference for today's more sophisticated app developers now porting, developing or employing C++ and other native code to integrate into the Android platform to run sophisticated native apps and better performing apps in general. Using a game app case study, this book explores tools for troubleshooting, debugging, analyzing memory issues, unit testing, unit test code coverage, performance measurement, on native applications, as well as integrating  the Android NDK toolchain into existing Autoconf, Makefile, CMake, or JAM based build systems. Pro Android C++ with the NDK also covers the following:


  • The Android platform, and getting up to speed with the Android NDK, and exploring the APIs that are provided in native space.
  • An overview of Java Native Interface (JNI), and auto-generating JNI code through Simplified Wrapper and Interface Generator (SWIG).
  • An introduction to Bionic API, native networking. native multithreading, and the C++ Standard Template Library (STL) support.
  • Native graphics and sound using JNI Graphics, OpenGL ES, and OpenSL ES.
  • Debugging and troubleshooting native applications using Logging, GNU Debugger (GDB), Eclipse Debugger, Valgrind, strace, and other tools.
  • Profiling native code using GProf to identify performance bottlenecks, and NEON/SIMD optimization from an advanced perspective, with tips and recommendations.

Bibliographic information