Getting Started with the NDK

The Native Development Kit (NDK) is a set of tools that allow you to leverage C and C++ code in your Android apps. You can use it either to build from your own source code, or to take advantage of existing prebuilt libraries.

The NDK is not appropriate for most novice Android programmers, and has little value for many types of Android apps. It is often not worth the additional complexity it inevitably brings to the development process. However, it can be useful in cases in which you need to:

  • Squeeze extra performance out of a device for computationally intensive applications like games or physics simulations.
  • Reuse your own or other developers' C or C++ libraries.

This guide gives you the information you need to get up and running with the NDK. It starts by explaining the concepts underpinning the NDK, and how to set it up. Next, it continues with information about targeting different hardware platforms in your builds. Then, it explains how to use the NDK to build and debug your app. Finally, it discusses how to use your own and other prebuilt libraries.