Android NDK

(Redirected from Native development kit)

The Android Native Development Kit (NDK) provides a cross-compiling tool for compiling code written in C/C++ can be compiled to ARM, or x86 native code (or their 64-bit variants) for Android.[4][5] The NDK uses the Clang compiler to compile C/C++. GCC was included until NDK r17, but removed in r18 in 2018.

Android NDK
Developer(s)Google
Initial releaseJune 2009; 14 years ago (2009-06)[1]
Stable release
r26c[2] Edit this on Wikidata / 12 February 2024; 57 days ago (12 February 2024)
Repository
Written inC and C++
Operating system
PlatformIA-32 (Windows only) or x86-64 (Windows,[3] macOS and Linux)
Available inEnglish
TypeSDK
Websitedeveloper.android.com/ndk/

Overview

Native libraries can be called from Java code running under the Android Runtime using System.loadLibrary, part of the standard Android Java classes.[6][7]

Command-line tools can be compiled with the NDK and installed using adb.[8]

Android uses Bionic as its C library, and the LLVM libc++ as its C++ Standard Library. The NDK also includes a variety of other APIs:[9] zlib compression, OpenGL ES or Vulkan graphics, OpenSL ES audio, and various Android-specific APIs for things like logging, access to cameras, or accelerating neural networks.

The NDK includes support for CMake and its own ndk-build (based on GNU Make). Android Studio supports running either of these from Gradle. Other third-party tools allow integrating the NDK into Eclipse[10] and Visual Studio.[11]

For CPU profiling, the NDK also includes simpleperf[12] which is similar to the Linux perf tool, but with better support for Android and specifically for mixed Java/C++ stacks.

References