Glossary Updates6 new terms added to the glossaries · October 11, 2026, 13:38 CEST
AI TechDocKnowledge

Glossary · 5 · Hardware SDKs and devices

Android Native Development Kit (NDK)

Also known as: Android NDK, NDK

In software engineering, the Android Native Development Kit (NDK) is Google's set of tools that lets developers write parts of an Android app in C and C++, compile that code into native libraries for the processor architectures Android supports and call it from Java or Kotlin code through the Java Native Interface (JNI).

  • Hardware SDK
  • Vendor product
  • Mobile platforms

In one sentence

The Android NDK is Google's toolset for writing parts of Android apps in C and C++, built per processor ABI and called through JNI.

Example

A game studio keeps its physics engine in C++, builds it with the NDK for arm64-v8a and x86_64 and calls it from the Kotlin user interface through JNI.

How it applies

  • Hardware SDKs: The NDK is the hardware-near layer of the Android platform kit. It gives native code access to platform libraries for native activities and to physical device components such as sensors and touch input, and it is typically used for computation-intensive code or to reuse existing C and C++ libraries.
  • ABIs as build targets: Native code is compiled once per application binary interface (ABI). The supported ABIs are armeabi-v7a, arm64-v8a, x86 and x86_64; each has its own instruction set and calling conventions, and an app package can contain one library per ABI.
  • Build integration: Native libraries are built with CMake or the NDK's own ndk-build and packaged with the app through Gradle; the native code is debugged with LLDB. Android Studio integrates these tools, but the NDK can also be used with other build systems.
  • Platform and developer SDKs: The NDK complements the Android SDK rather than replacing it. Most apps need no native code at all, and the official guide notes that the NDK may not be appropriate for most novice Android programmers.
  • Documentation: Native components need their own documentation of supported ABIs, minimum platform level, the JNI boundary (which Java or Kotlin methods are native, who owns which objects) and the toolchain version used to build them. Release notes should state when an update drops or adds an ABI.

NDK vs. Android SDK

The Android SDK provides the Java and Kotlin APIs, tools and build plug-in for writing Android apps in managed code. The NDK adds the compilers, headers and libraries for native code and the JNI boundary between the two worlds. An app built with the NDK is still an Android app built with the SDK; the NDK only covers the parts written in C or C++.

Keep in mind

Product names, supported ABIs, build tools and features of the NDK change between releases; the NDK historically supported further ABIs, such as ARMv5 (armeabi), that it no longer supports. Check the current NDK documentation before relying on any detail in this entry; the facts here are as of October 11, 2026.

External references

By knowledge.aitechdoc.world · Published October 11, 2026 · Last reviewed

Source: Android Developers, “Get started with the NDK” and “Android ABIs” (Google)

Definitions follow the cited standards and specifications. Where a source is a copyrighted publication, such as an ISO, IEC or EN standard, the definition is a close paraphrase, not a verbatim quotation, so as not to infringe copyright. We recommend reading the original publication. The sections “How it applies” are editorial commentary by AI TechDoc Knowledge and are not part of any standard.

Seen a mistake? Send us a note!