原生开发工具包

原生开发工具包（，简称NDK）是一种基于原生程序接口的软件开发工具。通过此工具开发的程序直接以本地语言运行，而非虚拟机。因此只有java等基于虚拟机运行的语言的程序才会有原生开发工具包。

优势
由于基于虚拟机的语言在运行上比基于C语言或c++的效率低，因此通过NDK编译的原生程序不仅可以在特定的环境下工作，且能维持运行的高效率。并且通常只要硬件允许，NDK可以兼容任何C语言的库，因此在功能上弥补了一些SDK开发的不足。

劣势
虽然NDK的程序运行效率更高，但既然软件本身使用虚拟机语言开发一定在开发效率上有优势。因此相对而言在NDK上开发程序的难度比SDK上要高。

原理
基于java的软件NDK通过JNI进行调度，由于java语言支持调用C/C++动态链接库，因此可以令java 的程序执行部分C语言代码，这为NDK的使用提供了可能。

举例
常见的原生开发工具包有Android NDK和webOS。

参见

Category:软件开发
Category:电脑术语
Category:计算机语言