Configure the NDK for the Android Gradle plugin

This page shows you how to configure the NDK in your project according to the version of the Android Gradle Plugin (AGP) used by the project.

The steps vary according to the version of AGP used in the project. Find the Android Gradle Plugin version in either of the following locations:

  • File > Project Structure > Project menu in Android Studio
  • The top-level build.gradle file in the project

Select the version below:

AGP version 3.5

You have the following options to configure the NDK:

  • (Recommended) Use the ndkVersion property to set the NDK version.
  • Do not set any property. Android Studio looks for the NDK in the following directories:

    • android-sdk/ndk/version-number
    • android-sdk/ndk-bundle/
  • In the local.properties files at the root of the Android Studio project, use the ndk.dir property:

    ndk.dir = /Users/ndkPath/ndk21 // Point to your own NDK
    

    You can also set this using the Android Studio UI (File > Project Structure > SDK Location > Android NDK location).

  • Use the $ANDROID_NDK_HOME environmental variable to set the path to the NDK. Android Studio reads this settings and caches it to the UI and ndk.dir at launch.

Install the NDK from the command line

To install the NDK from the command line, do the following:

  1. Use the sdkmanager tool to view versions of CMake and NDK packages that are available. Similar to other SDK components, the NDK is released through different channels:

    sdkmanager --list [--channel=channel_id]  // NDK channels: 0 (stable),
                                                // 1 (beta), or 3 (canary)
    
  2. Pass the sdkmanager the strings for the packages that you want to install. For example, to install CMake or the NDK, use the following syntax:

    sdkmanager --install
              ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
              [--channel=channel_id]
    

    Use the --channel option to only install a package if it has been released in a channel up to and including channel_id.

For more information, see sdkmanager.