There are few companies these days that can get away with developing mobile applications for a single platform. At PSPDFKit we chose to use native C++ library as a shared layer between Android, iOS and desktop platforms. This talk will make a case for using C++ for shared code and then explain best practices for keeping your developers sane while using the NDK. We'll touch on NDK basics, useful tools for generating JNI bindings and common gotchas when dealing with NDK on Android. We'll also take a look at approaches for unit testing and continuous integration for native code. Previous experience with NDK isn't required to follow.