Getting Started with the NDK

The Native Development Kit (NDK) is a set of tools that allows you to use C
and C++ code with Android, and provides platform libraries you can use to manage
native activities and access physical device components, such as sensors and
touch input. The NDK may not be appropriate for most novice Android
programmers who need to use only Java code and framework APIs to develop
their apps. However, the NDK can be useful for cases in which you need to do
one or more of the following:

Squeeze extra performance out of a device to achieve low latency or run
computationally intensive applications, such as games or physics simulations.

Android Studio's default build tool to compile native libraries is CMake. Android Studio also
supports ndk-build due to the large
number of existing projects that use the build toolkit. However, if you are
creating a new native library, you should use CMake.

This guide gives you the information you need to get up and running with the
NDK on Android Studio. If you don't have the latest version of Android
Studio, download and install it now.

From an open project, select Tools > Android > SDK
Manager from the main menu.

Click the SDK Tools tab.

Check the boxes next to LLDB, CMake,
and NDK, as shown in figure 1.

Figure 1. Installing LLDB, CMake, and the NDK from the
SDK Manager.

Click Apply, and then click OK in the
next dialog.

When the installation is complete, click Finish, and then click
OK.

Create or Import a Native Project

Once you set up Android Studio, you can simply Create a New Project with
C/C++ Support. However, if you want to add or import native code to an
existing Android Studio project, you need to follow this basic process:

You can skip this step if you already have native code or want to
import a prebuilt native library.

Create
a CMake build script to tell CMake how to build your native sources
into a library. You also require this build script if you are importing and
linking against prebuilt or platform libraries.

You can skip this step if your existing native library already has a
CMakeLists.txt build script, or uses ndk-build and includes
an Android.mk
build script.

Link Gradle to
your native library by providing a path to your CMake or ndk-build
script file. Gradle uses the build script to import source code into your
Android Studio project and package your native library (the SO file) into
the APK.

Note: If your existing project uses the deprecated
ndkCompile tool, you should open your
build.properties file and remove the following line of code
before configuring Gradle to use CMake or ndk-build:

// Remove this line
android.useDeprecatedNdk = true

Build and run your app by clicking
Run. Gradle adds
your CMake or ndk-build process as a dependency to compile, build, and
package your native library with your APK.

Once your app is running on a physical device or the emulator, you can use
Android Studio to Debug Your App.
Otherwise, to learn more about the NDK and its components, read the Concepts page.

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.